Posts de September, 2011

[Tarsis Azevedo] [wallpaper] Programadores, eis o seu mantra

Thursday, September 29th, 2011

382348655

feito pelo stefano zibell - postado aqui

Permalink

| Leave a comment  »

[Francisco Souza] Speaking at PythonBrasil[7]

Saturday, September 24th, 2011

Next weekend I’ll be talking about scaling Django applications at Python Brasil, the brazilian Python conference. It will be my first time at the conference, which is one of the greatest Python conferences in Latin America.

Some international dudes are also attending to the conference: Wesley Chun is going to talk about Python 3 and Google App Engine; Alan Runyan will talk about free and open source software, and Steve Holden will be talking about the issues involved in trying to build a global Python user group.

There is also Maciej Fijalkowski, PyPy core developer, talking about little things PyPy makes possible.

As I pointed before, I’m going to talk about scalability, based in some experiences aquired scaling Django applications at Globo.com, like G1, the greatest news portal in the Latin America.

[Francisco Souza] Speaking at PythonBrasil[7]

Saturday, September 24th, 2011

Next weekend I’ll be talking about scaling Django applications at Python Brasil, the brazilian Python conference. It will be my first time at the conference, which is one of the greatest Python conferences in Latin America.

Some international dudes are also attending to the conference: Wesley Chun is going to talk about Python 3 and Google App Engine; Alan Runyan will talk about free and open source software, and Steve Holden will be talking about the issues involved in trying to build a global Python user group.

There is also Maciej Fijalkowski, PyPy core developer, talking about little things PyPy makes possible.

As I pointed before, I’m going to talk about scalability, based in some experiences aquired scaling Django applications at Globo.com, like G1, the greatest news portal in the Latin America.

[Rafael Biriba] Globo.com: Inscrições para estágio vão até 11 de outubro/2011

Thursday, September 22nd, 2011
http://www.globo.com/estag

http://www.globo.com/estag

O programa de estágio do portal das Organizações Globo (Globo.com) está aberto e as inscrições poderão ser feitas até dia 11 de outubro (2011).

Não perca essa oportunidade de participar no desenvolvimento de um dos maiores portais da internet Brasileira… As inscrições podem ser feitas pelo site http://www.globo.com/estag

Etapas do processo seletivo: ( 2011 )
- Inscrições: até o dia 11 de outubro
- Prova On-line: ainda não informado
- Entrevista Coletiva: ainda não informado
Painel: ainda não informado
- Entrevista com o Gestor: ainda não informado
- Início do Estágio: Janeiro de 2012

Fique atento ao seu email, pois as convocações iniciais deverão ser feitas por meio dele
Visite também o site para mais detalhes: http://www.globo.com/estag

Informações adicionais:
Quem pode participar?
Estudantes matriculados em cursos de nível superior, com previsão de formatura para dezembro de 2012 ou  dezembro de 2013, compatíveis com as áreas/vagas existentes, disponíveis para a cidade do Rio de Janeiro e São Paulo.

Existem vagas para que áreas?
Vagas em diversas áreas para estudantes dos mais variados cursos: Administração, Psicologia, Comunicação Social, Comunicação Visual, Design, Desenho Industrial, Estatística, Engenharia de Produção, Cursos das áreas de Tecnologia (Ciência da Computação, Engenharia da Computação, Análise de Sistemas) entre outros

Aproveite e dê uma olhada no restante do blog. Dicas importantes podem ser obtidas nos comentários dos outros posts antigos sobre os processos seletivos, principalmente nos posts de processos seletivos antigos, pois muitas duvidas foram respondida pelos comentários… Fique atento para não haver repetição de dúvidas…

ATENÇÃO para esta dica adicional =) Se a sua previão de formatura não estiver entre a solicitada (dez/12 a dez/13), inscreva-se mesmo assim. Quem sabe você não consegue entrar… ;)

Boa sorte a todos e como sempre, estou a disposição para responder qualquer pergunta ;) (Dependendo da pergunta, posso pedir para que alguém do RH responder)

Google BookmarksTwitterYahoo MessengerOrkutHotmailGoogle GmailDeliciousShare

Leia também:


[Guilherme Garnier] Integrando o Remember the Milk ao Google Calendar e Gmail

Wednesday, September 21st, 2011

O Google Calendar é uma excelente ferramenta para manter o controle de compromissos pendentes. Porém, tem dois problemas: é limitado a tarefas que tenham uma data específica e não dependem do usuário concluir, ou seja, uma tarefa que foi programada para ontem mas não foi realizada não aparecerá mais no meu calendário (ou melhor, aparecerá no dia em que estava prevista, e provavelmente será esquecida com o tempo). Isso acontece porque o Google Calendar não é uma ferramenta voltada para tarefas, e sim para eventos. Para realizar o controle de tarefas, o melhor é utilizar uma ferramenta específica para tal. Idealmente uma que seja integrável ao Google Calendar, pois este continua sendo uma excelente ferramenta para controle de eventos (visualizar eventos futuros, compartilhar com outras pessoas, etc).

A opção mais óbvia para controle de tarefas seria o Google Tasks, pois é do próprio Google, e como tal, é totalmente integrado não só ao Google Calendar, mas também ao Gmail. Apesar de ser uma boa opção, o Google Tasks é bastante limitado, e não possui (ainda) uma funcionalidade que considero básica para uma ferramenta de controle de tarefas: o cadastro de tarefas recorrentes (ex: toda segunda-feira, todo mês no dia 10).

Em função destas limitações, eu prefiro utilizar o Remember the Milk, que é uma ferramenta muito mais completa que o Google Tasks. Ele também pode ser integrado tanto ao Gmail quanto ao Google Calendar.

Integração com Google Calendar

A integração é bem simples, através da interface iCalendar do Remember the Milk: vá até a opção settings, aba Info. Copie o link “iCalendar Events Service (All Lists)”. Em seguida, vá ao Google Calendar, em “other calendars”, à esquerda, há uma opção “Add by URL”. Cole a URL que foi copiada do Remember the Milk, e será criado um novo calendário com as suas tarefas – obviamente só aparecerão as que tem data.

Apesar de funcionar bem, a integração é limitada: a hora da tarefa não aparece, não há link direto para ver a tarefa no RTM, e é somente uma visualização, ou seja, não é possível editar, excluir ou concluir a tarefa a partir do Google Calendar. Além disso, quando uma tarefa é concluída, ela demora um tempo para sumir do calendário. Mas é possível configurar reminders para este calendário específico, o que torna a integração mais útil.

O calendário criado exibe todas as tarefas do seu RTM que não estão concluídas e tem data. Outra possibilidade é criar calendários com listas específicas. Para isso, vá ao RTM, faça uma busca ou selecione uma lista ou smart list específica. No lado direito aparecerá uma opção “iCalendar (Events)”. Copie esse link e repita o procedimento anterior no Google Calendar.

O RTM também disponibiliza dois gadgets para Google Calendar:

  • Sidebar Gadget
  • Permite visualizar, editar e adicionar tarefas diretamente no Google Calendar. Só não é possível visualizar e editar notas, mas há um link para exibir no RTM.

  • Daily Gadget
  • Adiciona um botão a cada dia do calendário; ao ser clicado, exibe a lista de tarefas do dia.

Integração com Gmail

O RTM disponibiliza duas maneiras de exibir as tarefas no Gmail:

  • Gadget do Google Calendar
  • Se você configurou a integração do RTM com o Google Calendar, descrita acima, o gadget do Google Calendar exibirá as tarefas do RTM.

  • Gmail Gadget
  • Este gadget possui as mesmas funcionalidades do Sidebar Gadget para Google Calendar.

  • Add-on (Firefox e Chrome)
  • Esta extensão é bem semelhante ao Gmail Gadget, mas possui algumas funcionalidades a mais: ela pode ser configurada para criar tarefas automaticamente quando um email for marcado com estrela ou com um label específico. Também é possível criar uma tarefa associada a um email específico, que será automaticamente concluída quando o email for respondido.

Posts relacionados:



[Alexandre Magno] Vamos começar por Bootstrap

Tuesday, September 20th, 2011

Desde os guias de design, até os padrões de interação, temos a eterna necessidade de definir os padrões e a consistência em uma aplicação web de modo a reutilizar o máximo possível os elementos de design. Se não bastasse isto, o twitter, com o Bootstrap foi além e implementou um framework onde há todos os elementos de um website, seguindo todo o estilo padrão de estilo do twitter, e Open Source! Eles o chamaram de bootstrap.

Quais as vantagens de ter o Bootstrap no início do projeto ou até mesmo usar o bootstrap do twitter?
Parece algo tão óbvio: padronizar todos elementos de design se evolui de um ponto em que a etapa de definição de layout perca cada vez mais peso e num mundo ideal ela nem existiria, pois o desenvolvedor front-end já iria prever com o arquiteto a experiência de uso, pois a biblioteca é suficiente para suprir todas novas funcionalidade da aplicação. Usar o próprio bootstrap do twitter para prototipar é também algo extremamente útil, pois ele é bastante simples, limpo, agnóstico e com todos os recursos de CSS3.

Outra grande vantagens é para projetos novos que segue a mesma consistência visual.

O bootstrap é orgânico, de acordo com novos elementos ele vai crescendo e a tendência é que chegue em um limite. No entanto é necessário ter no mínimo:
•    Elementos do grid
•    Formulários
•    Tipografia
•    Cabeçalhos
•    Listas
•    Tabelas
•    Botões

Como vender a ideia?
Muitas vezes é difícil você conseguir negociar esta etapa. Ela simplesmente é muitas vezes ignorada ou até mesmo iniciada, mas descontinuada e logo depois abandonada. Neste último caso é um sintoma de outro ponto errado, provavelmente não há um padrão e sempre existe um atrito maior quando é necessário definir várias páginas e como um comportamento deve ser em uma determinada interação, como validações de formulário.

[Francisco Souza] Creating HTML 5 slide presentations using landslide

Tuesday, September 20th, 2011

Recently I found landslide, which is a Python tool for creating HTML 5 slide presentations.

It’s based in a famous slide presentation. It’s a simple script that generates HTML from a source file, which can be formatted using reStructuredText, Textile or Markdown.

Let’s make a very simple presentation as a proof of concept: we’re going to create a “Python flow control” presentation, showing some basic structures of the language: if, for and while. We need a cover, a slide for each structure (with some topics and code examples) and the last slide for questions and answers. Here is the RST code for it:

Python======

--------------

If==

* Please don't use ()* Never forget the ``:`` at the end of the line

Check this code:

.. sourcecode:: python

    x, y = 1, 2    if x > y:        print 'x is greater'

--------------

For===

* ``for`` iterates over a sequence* Never forget the ``:`` at the end of the line

Check this code:

.. sourcecode:: python

    numbers = [1, 2, 3, 4, 5,]    for number in numbers:        print number

--------------

While=====

* ``while`` is like ``if``, but executes while the codition is ``True``* please don't use ()* never forget the ``:`` at the end of the line

Check this code:

.. sourcecode:: python

    from random import randint

    args = (1, 10,)    x = randint(*args)    while x != 6:        x = randint(*args)

--------------

Thank you!==========

As you can see it’s very simple. If you’re familiar with RST syntax, you can guess what landslide does: it converts the entire content to HTML and then split it by <hr /> tag. Each slide will contain two sections: a header and a body. The header contains only an <h1></h1> element and the body contains everything.

We can generate the HTML output by calling the landslide command in the terminal:

% landslide python.rst

To use landslide command, you need to install it. I suggest you do this via pip:

% [sudo] pip install landslide

landslide supports theming, so you can customize it by creating your own theme. Your theme should contain two CSS files: screen.css (for the HTML version of slides) and print.css (for the PDF version of the slides). You might also customize the HTML (base.html) and JS files (slides.js), but you have to customize the CSS files in your theme. You specify the theme using the --theme directive. You might want to check all options available in the command line utility using --help:

% landslide --help

It’s quite easy to extend landslide changing its theme or adding new macros. Check the official repository at Github. This example, and a markdown version for the same example are available in a repository in my github profile.

You can also see the slides live!

[Francisco Souza] Creating HTML 5 slide presentations using landslide

Tuesday, September 20th, 2011

Recently I found landslide, which is a Python tool for creating HTML 5 slide presentations.

It’s based in a famous slide presentation. It’s a simple script that generates HTML from a source file, which can be formatted using reStructuredText, Textile or Markdown.

Let’s make a very simple presentation as a proof of concept: we’re going to create a “Python flow control” presentation, showing some basic structures of the language: if, for and while. We need a cover, a slide for each structure (with some topics and code examples) and the last slide for questions and answers. Here is the RST code for it:

Python======

--------------

If==

* Please don't use ()* Never forget the ``:`` at the end of the line

Check this code:

.. sourcecode:: python

    x, y = 1, 2    if x > y:        print 'x is greater'

--------------

For===

* ``for`` iterates over a sequence* Never forget the ``:`` at the end of the line

Check this code:

.. sourcecode:: python

    numbers = [1, 2, 3, 4, 5,]    for number in numbers:        print number

--------------

While=====

* ``while`` is like ``if``, but executes while the codition is ``True``* please don't use ()* never forget the ``:`` at the end of the line

Check this code:

.. sourcecode:: python

    from random import randint

    args = (1, 10,)    x = randint(*args)    while x != 6:        x = randint(*args)

--------------

Thank you!==========

As you can see it’s very simple. If you’re familiar with RST syntax, you can guess what landslide does: it converts the entire content to HTML and then split it by <hr /> tag. Each slide will contain two sections: a header and a body. The header contains only an <h1></h1> element and the body contains everything.

We can generate the HTML output by calling the landslide command in the terminal:

% landslide python.rst

To use landslide command, you need to install it. I suggest you do this via pip:

% [sudo] pip install landslide

landslide supports theming, so you can customize it by creating your own theme. Your theme should contain two CSS files: screen.css (for the HTML version of slides) and print.css (for the PDF version of the slides). You might also customize the HTML (base.html) and JS files (slides.js), but you have to customize the CSS files in your theme. You specify the theme using the --theme directive. You might want to check all options available in the command line utility using --help:

% landslide --help

It’s quite easy to extend landslide changing its theme or adding new macros. Check the official repository at Github. This example, and a markdown version for the same example are available in a repository in my github profile.

You can also see the slides live!

[Tarsis Azevedo] Aprenda Vim Progressivamente

Saturday, September 17th, 2011

Sou usuario do vim a algum tempo e sempre estou procurando aprender mais e mais sobre esse excelente editor.

Recentemente encontrei um otimo post no blog do Yann Esposito para iniciantes aprenderem vim rapidamente e tambem para veteranos querendo aprender algumas magicas desse otimo edito de texto.

Gostei tanto do post que resolvi traduzi-lo para divulgar o vim e mostrar como voar com ele.

Então vamos ao post!

Pride-and-prejudice

TL;DR: Quer aprender vim (o melhor editor conhecido pela humanidade) da forma mais rapida possivel. Eu sugiro um caminho. Comece aprendendo o basico pra sobreviver, entao integre todos os truques devagar

Vim, o editor de texto de seis bilhões de dólares

Melhor, mais rapido, mais forte

Aprenda vim e ele será seu ultimo editor de texto. Ele não é o melhor editor de texto, eu sei. É dificil de aprender, mas incrivel de usar.

Eu sugiro aprende-lo em 4 passos:

  1. Sobreviva
  2. Sinta-se confortavel
  3. Sinta-se melhor, mais rapido, mais forte
  4. Use os superpoderes do vim

 

No final dessa jornada você se tornará um superstar do vim!

Mas antes de começar, um aviso. Aprender vim será doloroso no começo. Isso leva tempo. É muito parecido com aprender a tocar um instrumento musical. Não espere ser eficiente com vim do que com outro editor em 3 dias. Na verdade vai levar 2 semanas ao inves de 3 dias.

Nivel 1 - Sobreviva

  1. insta-le o vim
  2. abra o vim
  3. NÃO FAÇA NADA! Leia

Em um editor de texto normal, escrever no teclado é o suficiente para escrever alguma coisa e ve-la na tela. Não dessa vez. Vim está no modo Normal. Vamos entrar no modo de Inserção. Digite a letra i.

Agora voce se sente um pouco melhor. Voce pode digitar textos como um editor de texto normal. Para voltar para o modo normal, tecle ESC.

Voce sabe trocar entre o modo Normal e de Inserção. E agora a lista de comandos que voce pode usar no modo Normal para sobreviver:

  • i - modo de Inserção. Tecle ESC para voltar ao modo Normal.
  • x - para deletar o caracter em baixo do cursor.
  • :wq - Salvar e Sair (:w para salvar, :q para sair).
  • dd - deletar e copiar a linha atual.
  • p - colar.

Recomendado:

  • hjkl (altamente recomendado, mas nao obrigatorio) - movimentos basicos do cursor (←↓↑→). Dica: j é a seta para baixo.
  • :help <comando> - mostra o help do <comando>, voce pode começar a usar o :help sem nada mais.

Somenten 5 comandos. Isso é muito pouco para começar. Uma vez que esses comandos começarem a sair naturalmente (pode ser no final do dia), voce pode ir para o nivel 2.

Mas antes apenas uma observação no modo Normal. Em editores normais, para copiar voce deve usar a tecla Ctrl (Ctrl + c geralmente). Na verdade, quando voce pressiona o Ctrl, é como se todas as funcionalidades das teclas mudassem. Com vim no modo Normal, é como se seu Ctrl sempre estivesse pressionado.

Uma ultima observação sobre notações:

  • ao invés de escrever Ctrl-V, vamos escrever <C-V>
  • comandos começam com : e terminam com <enter>. Por exemplo, quando eu escrever :q isso significa :q<enter>

Nivel 2 - Sinta-se confortavel

Voce sabe os comandos para sobreviver. Agora é hora de aprender mais alguns comandos. Eu sugiro:

  1. Variações do modo de Inserção:
  • a - insere depois do cursor
  • o - insere uma nova linha depois da linha corrente
  • O - insere uma nova linha antes da linha corrente
  • cw - substitui do cursor até o final da palavra
  1. Movimentos Basicos:
  • 0 - vai para o inicio da linha
  • ^ - vai para o primeiro caracter nao-branco da linha
  • $ - vai para o final da linha
  • g_ - vai para o ultimo caracater nao-branco da linha
  • /padrao - procura por padrao
  1. Copiar/Colar
  • P - cola antes do cursor, relembre que p é para colar depois da posição corrente.
  • yy - copia a linha corrente, mais facil que o ddP
  1. Desfazer/Refazer:
  • u - desfazer
  • <C-r> (**Ctrl-r**) - refazer
  1. Carregar/Salvar/Sair/Mudar Arquivo (buffer):
  • :e <caminho/para/arquivo> - abrir
  • :w - salvar
  • :saveas <caminho/para/arquivo> - salvar em <caminho/para/arquivo/>
  • :x, ZZ ou :wq - salvar e sair ( :x  somente salva se necessario)
  • :q! - sair sem salvar, tambem :qa! até mesmo se houver algum buffer modificado escondido
  • :bn (resp. :bp) - mostra o proximo (resp. anterior) arquivo (buffer)

Separe algum tempo para aprender esses comandos. Uma vez aprendido, voce deve estar apto para fazer tudo que voce faz em qualquer outro editor. Mas até agora, isso é um pouco estranho. Mas siga-me até o proximo nivel e voce verá porque.

Nivel 3 - Melhor. Mais Forte. Mais Rapido.

Parabens por chegar tao longe! Nós podemos começar a parte interessante. No nivel 3, nós iremos falar somente sobre comandos que são compativeis com o vi antigo.

Melhor

Vamos ver como o vim faz para te ajudar a repetir um comando:

  1. . (ponto) - irá repetir o ultimo comando
  2. N<comando> - irá repetir o comando N vezes.

Alguns exemplos, abre um arquivo e digite:

  • 2dd - irá deletar 2 linhas
  • 3p - irá colar o texto 3 vezes
  • 100idesu ESC - irá escrever “desu” 100 vezes
  • . (ponto) - irá repetir o ultimo comando, escrevendo mais 100 vezes “desu”
  • 3. - irá escrever 3 “desu” (e não 300, muito inteligente)

Mais forte

Saber como se mover de modo eficiente no vim é muito importante. Não pule esta seção.

  1. NG - vai para a linha N
  2. gg - atalho para 1G, vai para o começo do arquivo
  3. G - vai para a ultima linha
  4. Andando em palavras:
  • w - vai para o começo da palavra seguinte
  • e - vai para o final da palavra seguinte

Por padrao, uma palavra é composta de letras e caracteres underscore ( _ ). Vamos chamar de uma PALAVRA um grupo de letras separadas por caracteres em branco. Se voce quiser considerar PALAVRA, entao use letras maiusculas:

  • W - vai para o inicio da PALAVRA seguinte
  • E - vai para o final da PALAVRA seguinte 
  • Word_moves

 

Agora vamos falar sobre movimentos mais eficientes:

  • % - Vai para o correspondente (, [, {
  • * (resp #) - vai para a proxima (resp anterior) ocorrencia da palavra sob o cursor.

Acredite em mim, esses tres comandos são ouro.

Mais rapido

Lembra sobre a importancia dos movimentos no vim? Aqui está a razão. Muitos comandos podem ser usados seguindo um formato geral:

<posição de inicio><comando><posição final>

Por exemplo: 0y$ significa:

  • 0 - vai para o começo dessa linha
  • y - copie daqui
  • $ - até o final desta linha

Nós tambem podemos fazer coisas como ye, copie daqui até o final da palavra. Tambem podemos fazer y2/foo copie até a segunda ocorrencia de "foo".

Mas se foi possivel com y (copiar), é tambem possivel com d (deletar), v (seleção visual), gU (maiuscula), gu (minuscula), etc...

Nivel 4 - Super poderes com vim

Com todos os comandos anteriores voce ja deve se sentir confortavel com o vim. Mas agora, aqui estao as features realmente maneiras. Algumas dessas features foram a razão pra eu começar a usar o vim.

mover-se na linha corrente: 0^$g_fFtT,(virgula), ;

  • 0 - Vai para a coluna 0
  • ^ - Vai para o primeiro caracter da linha
  • $ - vai para a ultima coluna
  • g_ - Vai para o ultimo caracter da linha
  • fa - Vai para a proxima ocorrencia da letra a na linha. , (resp ;) irá para a ocorrencia anterior da busca (resp proxima).
  • t, - Vai para o caracter anterior a primeira ocorrencia de ,
  • 3fa - Vai procurar a terceira ocorrencia da letra a
  • F e T - Parecido com f e t, porem procura pra tras
  • Line_moves

Uma dica muito util é :dt" que irá remover tudo antes de ".

Seleção por zona <ação>a<objeto> ou <ação>i<objeto>

Esses comandos só podem ser usados depois de uma operação no modo Visual. Mas eles são muito poderosos.

<ação>a<objeto> ou <ação>i<objeto>

Onde ação pode ser qualquer ação, por exemplo, d (delete), y (copiar), v (selecionar no modo Visual). E um objeto pode ser: w uma palavra, Wuma PALAVRA(palavra extendida), s uma sentença e p um paragrafo. Mas tambem pode ser um caracter natural como "')}].

Digamos que o cursor esteja no primeiro o de (map (+) ("foo")).

  • vi" - irá selecionar foo.
  • va" - irá selecionar "foo".
  • vi) - irá selecionar "foo".
  • va) - irá selecionar ("foo").
  • v2i) - irá selecionar map (+) ("foo").
  • v2a) - irá selecionar (map (+) ("foo")).

Selecionas blocos retangulares <C-v>.

Blocos retangularss são muito uteis para comentar muitas linhas de código. Tipicamente: ^<C-v><C-d>I-- [ESC]

  • ^ - vai para o inicio da linha
  • <C-v> - inicia a seleção por blocos
  • <C-d> - move para baixo (como jjj or %, etc… )
  • I-- [ESC] - escreve — para comentar cada linha

Rectangular-blocks

Note que no Windows voce poderá ter que usar <C-q> ao inves de <C-v> se seu clipboard nao estiver vazio.

Completar: <C-n> e <C-p>.

No modo de Inserção, digite no inicio de uma palavra, e entao digite <C-p>, magicamente…

Completion

Macros: qa faça alguma coisa q@a@@

qa vai gravar suas açoes num registrador a. Entao @a irá refazer a macro salva no registrador a como se voce tivesse feito isso na mão. @@ é um atalho para refazer a ultima macro executada.

Exemplo

Numa linha que contem o numero 1, digite isso:

  • qaYp<C-a>q
    • qa - começa a gravar
    • Yp - duplica esta linha
    • <C-a> - incrementa um numero
    • q - para a gravaçao
  • @a - escreverá 2 abaixo do 1
  • @@ - escreverá 3 abaixo do 2

Agora faça 100@@ e criará uma lista de numeros até 103.

Macros

Seleção Visual: vV<C-v>

Vimos um exemplo com <C-v>. Há tambem v e V. Uma vez que a seleçao foi feita, voce pode:

  • J - juntar todas as linhas.
  • < (resp. >) - indentar para a esquerda (resp. para a direita).
  • = - auto indentação

Autoindent

Adicione alguma coisa no fim das linhas selecionadas:

  • <C-v>
  • vá para a linha desejada (jjj ou <C-d> ou /padrao ou % etc…)
  • $ vá para o fina da linha
  • A, escreva alguma coisa, [ESC]

Append-to-many-lines

Splits: :split e :vsplit.

Aqui estao os comandos principais, mas voce pode olhar mais em :help split.

  • :split - irá criar um split (:vsplit criará um split vertical).
  • <C-w><dir> - onde dir é qualquer um de hjkl para mudar de split.
  • <C-w>_ (resp. <C-w>|) - maximiza o tamanho do split (resp. split vertical).
  • <C-w>+ (resp. <C-w>-) - Aumenta (resp. diminui) o split.

Split

Conclusao

Aqui estao 90% dos comandos que eu uso todos os dias. Eu sugiro que voce aprenda nao mais que 1 ou 2 comandos por dia. Depois de duas ou tres semanas voce começará a sentir o poder do vim nas suas mãos.

Aprender Vim é mais uma questao de treinamento que de memorização. Felizmente vim vem com otimas ferramentas e uma execelente documentação. Rodevimtutor para voce se familiarizar com os comandos basicos. Alem disso voce deve ler atentamente está pagina: :help usr_02.txt.

Entao, voce aprenderá sobre !, folds
, registradores, os plugins e muitas outras features. Aprender vim é como se estivesse aprendendo piano e tudo ficará bem.

Fim do post

Agora que voce ja sabe vim, use-o da maneira correta. Esqueça seu mouse, Ctrl-c + Ctrl+v, use as features do vim, se forçe a usa-las, eu garanto que depois que voce se sentir confortavel, vai voar.

Qualquer duvida e/ou critica podem deixar nos comentarios.

Até a proxima

OBS: Post totalmente editado no VIM, usando markdown.

 

 

Permalink

| Leave a comment  »

[Francisco Souza] Como foi a #qconsp 2011?

Tuesday, September 13th, 2011

Rolou no último final de semana a segunda edição do QCONSP, principal evento de arquitetos e desenvolvedores do Brasil. O evento é organizado pela InfoQ Brasil em parceria com a Caelum.

O evento foi realmente muito bom, com um nível técnico praticamente inquestionável. A organização também é incrível. A forma como a Caelum coleta feedback deveria ser um exemplo para todo mundo, sem falar na comida em abundância :) Pena ter faltado um pouco de tomadas e alguns problemas com a rede wifi (é, fazer rede wireless pra 850 pessoas não é fácil…), mas o evento foi realmente muito bom.

No domingo apresentei, junto ao Andrews Medina, a palestra Os complicados testes de interfaces e componentes web. Na palestra, apresentamos um breve histórico e alguns conceitos envolvidos com os testes de interfaces e componentes ricos. Mostramos algumas características do QUnit, Jasmine, jasmine-splinter-runner, Splinter, Selenium, Sikuli, dentre outras ferramentas. Incluímos ainda alguns exemplos com código ao vivo com o Jasmine, Splinter e Sikuli.

Os slides estão aqui:

 

E os códigos que apresentamos estão no Github: https://github.com/fsouza/palestra-qconsp-2011.