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.
Traditional Unix Toolchains
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
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
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
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
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
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
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...