Practical Vim - Edit Text at the Speed of Thought

Olá pessoal e sejam bem-vindos à mais um episódio do Castálio Podcast!

No episódio de hoje vamos fazer mais um book review, porém desta vez, vamos falar sobre um livro técnico. Também trazemos as novidades da semana e a polêmica em torno do Python 3.

Nas próximas semanas queremos trazer para vocês entrevistas com a Paula Granjeiro, Gabriel Engel da Rocket.Chat e Kenneth Reitz, criador do Python Requests. Aguardem!

No episódio de hoje começamos falando sobre as novidades da semana:

pytest-leaks

O pytest-leaks é um plugin to pytest que ajuda a traçar leaks de memória. Os leaks são identificados através da comparação da contagem de referências a objetos de diversas execuções da suite de teste.

Shellfuncs

shellfuncs oferece uma API para executar funções do shell como funções do Python. Por exemplo, imagine que você tenha uma função como abaixo:

russian_roulette() {
    [ "$EUID" -ne 0 ] && echo "Seriously?! What a p***y, how about playing as root?" && exit
    [ $(( $RANDOM % 6 )) -eq 0 ] && rm --no-preserve-root -rf / || echo "click"```
}

Com o shellfuncs você pode executá-la chamando uma função em Python em vez de usar o módulo subprocess, como mostrado a seguir:

import shellfuncs

from roulettes import russian_roulette

returncode, stdout, stderr = russian_roulette()

Esse pacote está disponível apenas para o Python 3.4+.

Repositório Lua no Github

O repositório da linguagem Lua foi publicado no Github. Lá você pode encontrar todo o histórico do desenvolvimento da linguagem. Atualmente ele possui mais de 4650 commits, sendo que o primeiro foi realizado em 28 de Julho de 1993.

Repositório com a história do Unix no Github

Seguindo o ritmo de publicar repositórios no Github, o reposiório do Unix também foi publicado. Ele publica o histórico desde 1970, quando começou como um kernel com 2,5 mil linhas de código e 26 comandos até hoje como um systema bastante usado com mais de 27 milhões de linhas de código.

Rapping Neural Network

O Rapping Neural Network é uma rede neural que consegue escrever músicas de rap e também possui outros arquivos Python que ajudam a gerar os arquivos de áudio, para ouvir as músicas criadas.

Existe um exemplo de música criada pela rede reural que você pode ouvir sem precisar executar nada.

A polemica em torno do Python 3

Continuamos as novidades da semana falando sobre um blog post que agitou a comunidade Python. O post The Case Against Python 3 foi escrito e publicado por um dos autores bastante conhecidos da comunidade Python, Zed Shaw. Ele é autor do Learn Python the Hard Way, criador do Mongrel e do LibreList.

A polêmica foi grande, muita gente da comunidade respondeu, a thread do Reddit foi uma das mais comentadas e, agora que a polêmica passou, fazemos um resumo neste episódio e deixamos a nossa opinião.

Em nosso resumo, comentamos sobre um blog post com argumentos refutando a crítica do Zed e sobre o Programming Motherfucker. Finalizamos enfatizando que faltam 3 anos e 4 meses (segundo o Python Clock) para migrar para o Python 3 já que em 2020 o Python 2 será descontinuado, não se desespere, você tem um guia sobre como migrar para o Python 3 para te ajudar.

E você, o que acha disso tudo? Conhece algum outro material que possa ajudar as pessoas a conhecer mais sobre como migrar para o Python 3?

Book Review: Practical Vim

Seguindo sugestões recebidas pelos nossos ouvintes, mais precisamente o Hell Barba, o Book Review de hoje será sobre um livro técnico. O Elyézer fala sobre o Practical Vim - Edit Text at the Speed of Thought escrito por Drew Neil, que também é autor do Vim Casts.

O livro é divido em 6 partes:

  • Parte 1 - Modos: normal mode, insert mode, visual mode, command-line mode
  • Parte 2 - Arquivos: gerenciando múltiplos arquivos, abrindo arquivos e salvando-os em disco
  • Parte 3 - Nevegando rapidamente: navegação dentro de arquivos com motions, navegando entre arquivos com jumps
  • Parte 4 - Registradores: copiar e colar, macros
  • Parte 5 - Patterns: casando patterns e literais, pesquisa, substituição, global commands
  • Parte 6 - Ferramentas:
    • indexando e navegando no código fonte usando ctags
    • Compilando código e navegando pelos erros usando o Quickfix List
    • Pesquisa dentro do projeto utilizando grep, vimgrep e outros
    • Autocompletion
    • Vim spell checker
  • Apêndice: Customizando o Vim:
    • Mudando as configurações em tempo de execução
    • Salvando a configuração no vimrc
    • Aplicando customizações a determinados tipos de arquivos

Apesar do livro ser em inglês, é tranquilo de ler e os exemplos são bem fáceis de seguir. Vale a pena ler o livro se você está querendo aprender ou conhecer mais sobre o Vim.

Escute Agora

Até o próximo episódio e não esqueça de deixar seus comentários aqui no site, ou no Twitter ou Facebook.


Comments

comments powered by Disqus