The source content for blog.juliobiason.me
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
4.8 KiB

Squashed commit of the following: commit 6dfbaf263d37d7c1cbf0e9ee45bd3240f9237b1e Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 18:52:43 2020 -0300 Commented links for 2020-07-26 commit a096940bbc6636ab60583fad18c51cd4bacbba6f Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:37:00 2020 -0300 Grace Hopper quote commit d71f0c0c62261c62d7288ce19baaccf4be270e29 Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:34:55 2020 -0300 Nikolai Kingsley quote commit 3dfc39800bf9ef099b50dae7ab0d06261213a021 Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:33:34 2020 -0300 Mark Twain quote commit 580268fd38cf0cbf77abc934102b93896955f49f Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:32:58 2020 -0300 H L Mencken quote commit f307076b3b09c5c270dc1b054e0331afb01e5116 Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:17:01 2020 -0300 Whilhelm Reich quote commit c64993d4ed802718483624777257ad1d134728dd Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:14:43 2020 -0300 Ogden Nash quote commit 8a0ec75f8995da3c29285bf0b4e0cbbc38842037 Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:12:47 2020 -0300 Woody Allen quote commit f738f595a27428b86345b08cd21b5bf7688277a5 Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:11:12 2020 -0300 Random quote commit d2d1693bdda7316f0c3325da92869856212f9060 Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 14:33:24 2020 -0300 H H Williams quote commit 4ddf311759762824a4c5fca328d35ebfb30329a0 Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 14:04:21 2020 -0300 Random quote commit 91837ab7ec818b59a06f7d5762877227c3f74c43 Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 14:00:28 2020 -0300 Thomas Edison quote commit 4e5bf5c88def568514f25a43ad465dea82cd4399 Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 13:47:50 2020 -0300 Julius Lester quote commit 8375dca14ca26928989d4e8c33a8b3844a319ae2 Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 13:30:59 2020 -0300 Carus quote commit c86eab589bbbd3c56022b390b77fa285a4757cfa Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 13:14:27 2020 -0300 Albert Einstein quote commit c09f1a20531a6463c08bbbaa0b8d1578ade6c554 Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 12:38:54 2020 -0300 Robert Benchley quote commit 3e03c8f4b76121791c050c5994d82eedad6c2dc7 Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 12:22:01 2020 -0300 Hal Hickman quote commit cd799c91b2959599757140538ace3ed94393d79a Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 11:52:15 2020 -0300 Aldous Huxley quote
4 years ago
+++
title = "Links Comentados de 2020-07-26"
date = 2020-07-26
[taxonomies]
tags = ["links", "datomic", "dicas", "desenvolvedores", "google", "racismo",
"logging", "logs", "deletar", "gerente de produtos", "syntax highlight",
"highlight", "rust", "módulos"]
+++
Internos do Datomic, Dicas para Desenvolvedores, Racismo@Google, Logs,
Programe Para Deletar, Sendo um Gerente de Produtos, Syntax Highlight, Módulos
em Rust.
<!-- more -->
## [Unofficial guide to Datomic internals](https://tonsky.me/blog/unofficial-guide-to-datomic-internals/)
As partes internas de um banco de dados são sempre curiosas, pra dizer o
mínimo. E Datomic é um banco de dados curioso, onde tudo é imutável.
Mas entender as partes internas é sempre bom para entender onde o banco de
dados se encaixa e como tirar o máximo disso.
## [Advice to Myself When Starting Out as a Software Developer](https://blog.pragmaticengineer.com/advice-to-myself-when-starting-as-a-software-developer/)
Quando se está na área por algum muito tempo, é fácil esquecer como as coisas
eram quando você começou.
E não consigo achar nada de errado com as dicas mostradas aqui, mas eles
parecem tão... basicas. E eu quero dizer que essas dicas são algo que deveria
estar nas listas de todos os desenvolvedores, iniciantes ou veteranos.
## [Google Ad Portal Equated “Black Girls” with Porn](https://themarkup.org/google-the-giant/2020/07/23/google-advertising-keywords-black-girls)
O que? Você está dizendo que o Google é racista? Mas isso é impossível! Isso é
culpa "do algoritmo"! Google é bom, eles me dão email de graça!
Vocês conseguem ver como "dar coisas de graça" e "open source" (e não ouvir os
usuários) não passa de uma jogada de marketing?
## [Good Logging](https://henrikwarne.com/2020/07/23/good-logging/)
Logs são sempre importantes -- pessoalmente, eu acho que logs (e bons logs)
são mais importantes que debugar -- mas saber _como_ e _o que_ logar é a chave
para fazer a coisa certa.
Alguns pontos são bem comuns, como os "logs gritantes", embora a solução não
seria usar `WARNING` e `INFO`, mas descobrir como definir corretamente o nível
de log de cada módulo -- e usar módulos -- parece ser o mais certo.
Pessoalmente, eu deixo uma pilha de mensagens de `debug` em alguns lugares,
como "cicatrizes" de uma batalha. Talvez algum outro desenvolvedor vai ver a
sequência de logs e pensar duas vezes antes de sair trabalhando.
## [Write code that is easy to delete, not easy to extend.](https://programmingisterrible.com/post/139222674273/write-code-that-is-easy-to-delete-not-easy-to)
Essa é uma coisa que eu consigo concordar: é melhor escrever um código que
seja fácil de ser apagado do que reusado. Mas simplesmente ir copiando
diversas partes várias vezes para que seja possível apagar uma sem afetar o
restado do código não parece ser a solução.
Eu simplesmente iria adicionar mais abstrações, ao ponto que as funções se
tornassem tão simples que elas existiriam sem qualquer lógica de negócio;
essas lógicas seriam colocadas juntas em outras funções, descrevendo
_exatamente_ o que a regra de negócio quer faz:
recuperar_informacao_do_servidor, alterar_informacao_de_alguma_forma, e assim
por diante. Se a regra muda, é só remover a abstração no meio da função maior.
"Mas isso ainda não resolve o problema!" Bom, se a regra de negócio mudou,
então você pode apagar a função maior e criar uma nova que segue a nova regra
ou simplesmente apagar -- ou adicionar -- alguma das abstrações.
## [22 Principles for Great Product Managers](https://reeve.blog/blog/principles/)
Eu nem tinha chego na metade da lista e eu já estava "É, eu tive um gerente
que fez minha vida um inferno" e "Eu lembro quando fizeram isso e foi ótimo".
## [Syntax highlighting is a waste of an information channel](https://buttondown.email/hillelwayne/archive/syntax-highlighting-is-a-waste-of-an-information/)
Mais uma vez, "eu concordo com o sentimento, mas não com a implementação". Não
que ter informação sobre tipos, ou de algum parâmetro, na sintaxe não ajude um
bocado, mas o fato é que essa informação varia conforme a situação. Em alguns
pontos, o tipo pode ser mais importante que o parâmetro, ou vice-versa, ou,
pior, pode dar foco em algo que não seja realmente importante no momento. E
tentar colocar tudo isso junto, em algum ponto, se tornaria um pesadelo -- ou
uma salada de frutas de cores que vai fazer a leitura do código e encontrar o
que importa completamente impossível.
## [Clear explanation of Rust’s module system](http://www.sheshbabu.com/posts/rust-module-system/)
O sistema de módulos do Rust é um pouco diferente dos demais, e algumas
explorações que eu fiz me deu algumas dicas sobre como esse sistema funciona
-- mais ou menos o que é dito no post.
<!--
vim:spelllang=pt:
-->