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.

88 lines
3.8 KiB

+++
title = "Links Comentados de 2020-07-19"
date = 2020-07-19
[taxonomies]
tags = ["links", "unix", "build", "c", "estruturas de dados", "algoritmos",
"zig", "rust", "linux", "kernel", "ia", "git", "git ignore", "ci", "cd"]
+++
Criando Executáveis no Estilo Unix, Estruturas de Dados e Algoritmos Realmente
Usados, Fundação Zig, Rust no Linux, IA Ruim, Git Ignore, O Que É CI e CD.
<!-- more -->
## [Traditional Unix Toolchains](https://bsdimp.blogspot.com/2020/07/traditional-unix-toolchains.html?m=1)
Embora o título possa dar a impressão que vai ser falado das ferramentas
comuns de unix (e pipes, e `&&` e `||`), na verdade o post fala sobre o
processo que os compiladores unix fazem quando estão convertendo seu código C
em um executável.
Pode ser um pouco sucinto, mas e sucinto nos lugares certos. Explica bem todo
o processo, as ferramentas envolvidas e o que elas fazem no processo inteiro.
## [Data Structures & Algorithms I Actually Used Working at Tech Companies](https://blog.pragmaticengineer.com/data-structures-and-algorithms-i-actually-used-day-to-day/)
Quando estamos fazendo entrevistas de emprego, somos perguntados sobre um
monte de coisas. Mas o que _realmente_ é usado? Me lembra aquela piada de que
as pessoas são perguntadas, na entrevista, para escreverem um algoritmo para
inverter uma árvoce binária, mas o trabalho é mover um botão 2 píxeis para a
esquerda.
Mas é bom saber o que é realmente utilizado, em aplicações de verdade. E não
apenas em algum CRUD ou algo do tipo, mas o que acontece em aplicações como
Skype e Uber.
## [Announcing the Zig Software Foundation](https://ziglang.org/news/announcing-zig-software-foundation.html)
Zig é uma pequena linguagem que se colocou para resolver os problemas com C.
O que me impressionou aqui é que a comunidade Rust tem falado sobre criar uma
fundação, para que a linguagem fique aberta para todos, mas até agora não
conseguiram fazer.
Então, parabéns para os desenvolvedores do Zig por criarem a sua fundação!
## [Linux kernel in-tree Rust support](https://lkml.org/lkml/2020/7/10/1261)
Parece que os desenvolvedores do kernel do Linux finalmente abriram as portas
para novas linguagens na área de desenvolvimento.
O que me parece "errado" aqui é o Linus dizendo que o "suporte a Rust" deve
estar sempre ligado, e se algo quebrar, eles podem apontar que o suporte
estava quebrado. A parte "errada" disso é que, obviamente, bota visibilidade
nas coisas que _não_ funcionam ao invés das que funcionam. O que acontece se
tiverem módulos que funcionam corretamente, mas um deles falha? Obviamente que
todo mundo vai dizer que o suporte não funciona e que as pessoas devem
continuar com o que funciona.
Mas Linus, sabe como é...
## [Awful AI](https://github.com/daviddao/awful-ai)
Nem toda IA é boa. Nem toda IA vai te ajudar a encontrar um horário disponível
para todo mundo pra uma reunião. Não é toda IA que vai colocar as tags nas
suas fotos com localizações e as pessoas que você gosta -- mas que vão também
marcar pessoas negras como "gorilas". Ou talvez dizer quem é gay ou não (e
pense como isso afetaria essas pessoas em países que consideram
homossexualidade um crime). E a lista continua.
## [gitignore.io](https://www.toptal.com/developers/gitignore)
Crie um `.gitignore` para todas as coisas do seu projeto, baseado na linguagem
e ferramentas que você usa.
## [The real difference between CI and CD](https://fire.ci/blog/the-difference-between-ci-and-cd/)
O que CI e CD fazem? Para que eles servem?
Eu tenho essa ideia de fazer uma apresentação para pessoas que estão começando
com desenvolvimento sobre isso -- porque, vocês sabem, ainda existem pessoas
que acham que fazer um `git push` no computador e `git pull` no servidor de
produção e uma boa decisão...
<!--
vim:spelllang=pt:
-->