Links Comentados de 2020-06-03

Scotty, Pyramid e Cornice, Os Problemas Com datetime.now(), Mercurial e Python 3, Acelerando o Python, Biblioteca Async para Requisições HTTP, Propagandas Digitais, Google e a Web.

scotty: Transports you to any directory you have visited before

Eu tenho usado Scotty por algum tempo já e realmente tem me agradado.

O que Scotty faz é guardar uma lista dos diretórios pelos quais você já passou e, depois de um tempo, você pode simplesmente fazer s <diretório> e cair diretamente no diretório específico. Não apenas isso, mas <diretório> nem precisa ser o nome correto do diretório; Scotty usa "fuzzy search" para encontrar o diretório com o nome mais parecido com o que você digitou.

How to write a Python web API with Pyramid and Cornice

Pyramid is o framework web para Python menos conhecido por aí. Mas esse post mostra como é simples fazer uma (simples) API com ele.

Stop Using datetime.now!

Embora o título seja um pouco "clickbait", o conteúdo é bem interessante. Não apenas apontando os problemas de se usar datetime.now() (não, não é a função em si que tem um problema, é a forma como usamos o resultado que pode gerar problemas), mas explicando minuciosamente injeção de dependências em Python.

Mercurial's Journey to and Reflections on Python 3

Ding dong, a bruxa morreu, e o Python 2 também.

Mas ainda existe uma grande base de projetos em Python 2 que precisam ser convertidos para Python 3, e o Mercurial fez isso, e aqui tem a experiencia do mantenedor em fazer essa conversão.

Eu entendo que converter um projeto de Python 2 para 3 não é uma tarefa fácil, mas tem algumas coisas erradas no post. Por exemplo, "the approach of assuming the world is Unicode is flat out wrong and has significant implications for systems level applications" (a ideia de assumir que o mundo é unicode é completamente errada e tem sérias implicações para aplicações que nível de sistema). O mundo é unicode. É só ler a parte em português desse site. É só ler um blog em chinês ou japonês para ver como ele é. Você realmente acredita que essas pessoas não usam aplicações de sistema em lugar algum? Ainda, o que você acham que são mais usadas: Aplicações de nível de sistema ou nível de usuário?

Não estou dizendo que a conversão é perfeita -- de certa forma, unicode simplesmente é uma forma de tratar os bytes que estão por baixo -- mas reclamar que a mudança fez a sua forma de pensar mais difícil não é desculpa para não entender para onde o eco sistema está indo -- e também não quer dizer que o seu projeto específico não é bem-vindo, mas você tem que entender que está no caso minoritário aqui.

(E também não me surpreende que alguém dizendo que "mundo em unicode está errado" vem de alguém que vive num país ASCII.)

Making Python Programs Blazingly Fast

Um conjunto de dicas de como fazer aplicações Python funcionarem mais rápido. Algumas coisas podem não parecer fazer muito sentido (colocar uma variável apontando pra outra dentro da mesma classe?), mas o post pelo menos explica por que isso ajuda na performance.

Httpx: A next-generation HTTP client for Python

Requests mostrou pra todo mundo como APIs devem funcionar, mas o projeto meio que ficou parado no tempo, sem suporte a chamadas async (e alguns outros probleminhas na gerencia do projeto). Agora existe Httpx, que é outra biblioteca para fazer requisições HTTP, mas dessa vez com suporte a async e basicamente a mesma interface.

No-judgment digital definitions: Online advertising strategies

Já se perguntou como é que depois de pesquisar alguma coisa -- por exemplo, "cadeiras gamer" -- de repente começam a surgir promoções e propagandas de cadeiras na sua rede social?

Nada acontece por acaso, e isso é um efeito de todos os trackers que são colocados numa página. Mas como é que eles identificam quem é quem é que é a questão.

Esse artigo da Mozilla, embora pareça meio básico para quem acompanha, mostra bem como essas coisas funcionam.

Google Is Not God of The Web

Outro título um pouco "clickbait" mas, de novo, conteúdo interessante.

Um ponto que me chamou a atenção foi "Google has the right to dictate 'Best Practices.'" (Google tem o direito de ditar o que são as "boas práticas") que apesar do título diz exatamente o contrário.

Imaginem vocês que o Google comece a dar notas de "experiência de uso" para páginas que adotem o visual do Material. Páginas e páginas que parecem com aplicativos Android. Mas se você utilizar o seu próprio layout, seu próprio conjunto de cores, você vai perder pontos. E agora?

Esse é o grande problema da dependência que as pessoas tem com o Google, e toda a simbiose que o mesmo tem tendo um grupo trabalhando para padrões da web, um grupo trabalhando para fazer um browser e um grupo pra tirar proveito do trabalho dos dois anteriores. Quando menos você usar o Google, quanto mais você usar ferramentas de pesquisa alterativos (DuckDuckGo, Searx, e até mesmo o Bing), quanto mais você usar outros provedores de email (ProtonMail), quanto mais vocês usarem browsers que não sejam Chrome (Firefox, Safari, ou algum outro baseado em WebKit), menor vai ser a probabilidade de que a internet se torne um ambiente de uma empresa só.


Esse post foi feito com a ajuda de