Browse Source
commitmaster6dfbaf263d
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 18:52:43 2020 -0300 Commented links for 2020-07-26 commita096940bbc
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:37:00 2020 -0300 Grace Hopper quote commitd71f0c0c62
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:34:55 2020 -0300 Nikolai Kingsley quote commit3dfc39800b
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:33:34 2020 -0300 Mark Twain quote commit580268fd38
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:32:58 2020 -0300 H L Mencken quote commitf307076b3b
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:17:01 2020 -0300 Whilhelm Reich quote commitc64993d4ed
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:14:43 2020 -0300 Ogden Nash quote commit8a0ec75f89
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:12:47 2020 -0300 Woody Allen quote commitf738f595a2
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 15:11:12 2020 -0300 Random quote commitd2d1693bdd
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 14:33:24 2020 -0300 H H Williams quote commit4ddf311759
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 14:04:21 2020 -0300 Random quote commit91837ab7ec
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 14:00:28 2020 -0300 Thomas Edison quote commit4e5bf5c88d
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 13:47:50 2020 -0300 Julius Lester quote commit8375dca14c
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 13:30:59 2020 -0300 Carus quote commitc86eab589b
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 13:14:27 2020 -0300 Albert Einstein quote commitc09f1a2053
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 12:38:54 2020 -0300 Robert Benchley quote commit3e03c8f4b7
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 12:22:01 2020 -0300 Hal Hickman quote commitcd799c91b2
Author: Julio Biason <julio.biason@pm.me> Date: Sun Jul 26 11:52:15 2020 -0300 Aldous Huxley quote
Julio Biason
4 years ago
19 changed files with 332 additions and 6 deletions
@ -0,0 +1,94 @@
|
||||
+++ |
||||
title = "Commented Links for 2020-07-26" |
||||
date = 2020-07-26 |
||||
|
||||
[taxonomies] |
||||
tags = ["links", "datomic", "advice", "developer", "google", "racism", |
||||
"logging", "delete", "product manager", "syntax highlight", "highlight", |
||||
"rust", "modules"] |
||||
+++ |
||||
|
||||
Datomic Internals, Developer Advice, Racism@Google, Logging, Code To Delete, |
||||
Being a Product Manager, Syntax Highlight, Rust Module System. |
||||
|
||||
<!-- more --> |
||||
|
||||
## [Unofficial guide to Datomic internals](https://tonsky.me/blog/unofficial-guide-to-datomic-internals/) |
||||
|
||||
Database internals are always curious, to say the least. And Datomic is also a |
||||
curious database, as everything is immutable. |
||||
|
||||
But understating internals is always good to understand where the database |
||||
fits and how to take most of it. |
||||
|
||||
## [Advice to Myself When Starting Out as a Software Developer](https://blog.pragmaticengineer.com/advice-to-myself-when-starting-as-a-software-developer/) |
||||
|
||||
When you're working in the field for too long, it is easy to forget how it was |
||||
when you started. |
||||
|
||||
I can't find anything wrong with the tips, but they feel a bit... bland. I |
||||
mean, honestly, the tips here are something that should be in every developers |
||||
list anyway, beginner or pro. |
||||
|
||||
## [Google Ad Portal Equated “Black Girls” with Porn](https://themarkup.org/google-the-giant/2020/07/23/google-advertising-keywords-black-girls) |
||||
|
||||
Oh, are you saying Google is racist? That's impossible! That's "the algorithm" |
||||
fault! Google is good, it gives me free email! |
||||
|
||||
You see how "giving things for free" and "open source" (and then not listening |
||||
to users) is purely a marketing plot? |
||||
|
||||
## [Good Logging](https://henrikwarne.com/2020/07/23/good-logging/) |
||||
|
||||
Logging is always important -- personally, I think logging (and good logs) are |
||||
more important than debugging -- but knowing _how_ and _what_ to log is the |
||||
key for properly dealing with it. |
||||
|
||||
Some of the points are quite common, like screaming logs, although the |
||||
solution is not using WARNING or INFO, but actually figuring out how to |
||||
properly set the log level for each modules -- and using modules -- feels more |
||||
correctly. |
||||
|
||||
Personally, I leave a lot of `debug` messages in some places, as "scars" of a |
||||
battle. Maybe some future developer will see that sequence and think twice |
||||
before jumping in. |
||||
|
||||
## [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) |
||||
|
||||
That's one thing I totally agree: it is better to write code that's easy to |
||||
delete than to reuse. But simply going into copying things over and over so |
||||
you can delete one thing without breaking the other is not actually the |
||||
solution. |
||||
|
||||
I'd just adding abstractions, to the point functions are so simple they exist |
||||
without any business logic; these logic pieces are then put together in other |
||||
functions, describing _exactly_ what the business rule is: |
||||
get_info_from_server, change_info_in_some_way, and so on. If the rule change, |
||||
you just delete the abstraction in the middle of the larger function. |
||||
|
||||
"But that still doesn't solve it!" Well, if the business rule changed, then |
||||
you can either delete the larger function and write a new one to follows the |
||||
new rule or simply drop -- or add -- any of the abstractions. |
||||
|
||||
## [22 Principles for Great Product Managers](https://reeve.blog/blog/principles/) |
||||
|
||||
I didn't even get to half of the list and I was "yup, I had a hard time with a |
||||
manager that didn't do that" and "I remember when they did that and it was |
||||
awesome". |
||||
|
||||
## [Syntax highlighting is a waste of an information channel](https://buttondown.email/hillelwayne/archive/syntax-highlighting-is-a-waste-of-an-information/) |
||||
|
||||
Once again, "I can get behind the sentiment, but not the implementation". |
||||
Surely, having information about types, or some parameter, in the syntax helps |
||||
a ton, but the fact is that it depends on situation. At some point, the type |
||||
may be more important than the parameter, or vice-versa, or worse, it may give |
||||
focus to something that is not important at that time. Putting all that |
||||
together, at the same time, would be a nightmare -- or a fruit salad |
||||
of colours that would make reading the code and finding what matters completely |
||||
impossible. |
||||
|
||||
## [Clear explanation of Rust’s module system](http://www.sheshbabu.com/posts/rust-module-system/) |
||||
|
||||
Rust module system is a bit different from everything else, and the |
||||
exploration I did gave me some insights about it -- mostly, exactly what the |
||||
post says. |
@ -0,0 +1,98 @@
|
||||
+++ |
||||
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: |
||||
--> |
@ -0,0 +1,9 @@
|
||||
+++ |
||||
title = "George Wald" |
||||
weight = 103 |
||||
|
||||
[taxonomies] |
||||
tags = ["quotes", "george wald", "atoms", "physics"] |
||||
+++ |
||||
|
||||
> "A physicist is an atom's way of knowing about atoms." |
@ -0,0 +1,9 @@
|
||||
+++ |
||||
title = "Grace Hopper" |
||||
weight = 103 |
||||
|
||||
[taxonomies] |
||||
tags = ["quotes", "grace hopper"] |
||||
+++ |
||||
|
||||
> "The most dangerous phrase in the language is, 'We've always done it this way.'" |
@ -0,0 +1,9 @@
|
||||
+++ |
||||
title = "H. H. Williams" |
||||
weight = 104 |
||||
|
||||
[taxonomies] |
||||
tags = ["quotes", "h h williams"] |
||||
+++ |
||||
|
||||
> "Furious activity is no substitute for understanding." |
@ -0,0 +1,11 @@
|
||||
+++ |
||||
title = "Hal Hickman" |
||||
weight = 104 |
||||
|
||||
[taxonomies] |
||||
tags = ["quotes", "hal hickman", "opinions"] |
||||
+++ |
||||
|
||||
> "Opinions are like assholes -- everyone's got one, but nobody wants to look |
||||
> at the other guy's." |
||||
|
@ -0,0 +1,11 @@
|
||||
+++ |
||||
title = "Julius Lester" |
||||
weight = 106 |
||||
|
||||
[taxonomies] |
||||
tags = ["quotes", "julius lester", "riots"] |
||||
+++ |
||||
|
||||
> "Black people have never rioted. A riot is what white people think blacks |
||||
> are involved in when they burn stores." |
||||
|
@ -0,0 +1,11 @@
|
||||
+++ |
||||
title = "Nikolai Kingsley" |
||||
weight = 110 |
||||
|
||||
[taxonomies] |
||||
tags = ["quotes", "nikolai kingsley"] |
||||
+++ |
||||
|
||||
> "Don't fear the darkness. |
||||
> Fear the things that hide in the darkness. |
||||
> Then become one of those things, and let them feat you." |
@ -0,0 +1,11 @@
|
||||
+++ |
||||
title = "Robert Benchley" |
||||
weight = 114 |
||||
|
||||
[taxonomies] |
||||
tags = ["quotes", "robert benchley", "work"] |
||||
+++ |
||||
|
||||
> "Anyone can do any amount of work provided it isn't the work he is supposed |
||||
> to be doing at the moment." |
||||
|
@ -0,0 +1,10 @@
|
||||
+++ |
||||
title = "Thomas Edison" |
||||
weight = 116 |
||||
|
||||
[taxonomies] |
||||
tags = ["quotes", "thomas edison", "religion"] |
||||
+++ |
||||
|
||||
> "All Bibles are man-made." |
||||
|
@ -0,0 +1,9 @@
|
||||
+++ |
||||
title = "Titus Lucretius Carus" |
||||
weight = 116 |
||||
|
||||
[taxonomies] |
||||
tags = ["quotes", "titus lucretius carus", "life"] |
||||
+++ |
||||
|
||||
> "Life is one long struggle in the dark." |
@ -0,0 +1,11 @@
|
||||
+++ |
||||
title = "Wilhelm Reich" |
||||
weight = 119 |
||||
|
||||
[taxonomies] |
||||
tags = ["quotes", "whilhelm reich", "hitler", "politics", "politicians"] |
||||
+++ |
||||
|
||||
> "The fact that Hitler was a political genius unmasks the nature of politics |
||||
> in general as no other can." |
||||
|
Loading…
Reference in new issue