Julio Biason
4 years ago
2 changed files with 168 additions and 0 deletions
@ -0,0 +1,81 @@
|
||||
+++ |
||||
title = "Commented Links for 2020-07-19" |
||||
date = 2020-07-19 |
||||
|
||||
[taxonomies] |
||||
tags = ["links", "unix", "build", "c", "data structures", "algorithms", "zig", |
||||
"rust", "linux", "kernel", "ai", "git", "git ignore", "ci", "cd"] |
||||
+++ |
||||
|
||||
Building Executables Unix Way, Really Used Data Structures and Algorithms, Zig |
||||
Foundation, Rust on Linux, Bad AI, Git Ignore, What is CI and CD. |
||||
|
||||
<!-- more --> |
||||
|
||||
## [Traditional Unix Toolchains](https://bsdimp.blogspot.com/2020/07/traditional-unix-toolchains.html?m=1) |
||||
|
||||
While the title may give some impression that it will talk about common unix |
||||
tools (and pipes, and `&&` and `||`), it actually talks about the process the |
||||
unix compilers take on converting your C code into an executable. |
||||
|
||||
It is a bit succinct, but succinct in the right places. It gives a good |
||||
explanation on the whole process, the involved tools and their jobs in the |
||||
process. |
||||
|
||||
## [Data Structures & Algorithms I Actually Used Working at Tech Companies](https://blog.pragmaticengineer.com/data-structures-and-algorithms-i-actually-used-day-to-day/) |
||||
|
||||
When doing job interviews, we get asked about a lot of stuff. But what do we |
||||
_actually_ use? Kinda reminds of that joke about the job interview asking to |
||||
invert a binary tree and the job is just to move a button 2 pixels to the |
||||
left. |
||||
|
||||
But it is good to know what is actually useful, in real life applications. And |
||||
not just some CRUD or whatever, but what goes into Skype and Uber. |
||||
|
||||
## [Announcing the Zig Software Foundation](https://ziglang.org/news/announcing-zig-software-foundation.html) |
||||
|
||||
Zig is a small language aimed to fix the problems with C. |
||||
|
||||
What impressed me here is that the Rust community had talks about making a |
||||
foundation, so the language would be open to everyone, but still didn't manage |
||||
to make it. |
||||
|
||||
So, kuds to Zig developers for creating their foundation! |
||||
|
||||
## [Linux kernel in-tree Rust support](https://lkml.org/lkml/2020/7/10/1261) |
||||
|
||||
Alright, so it seems the Linux developers finally opened to doors to new |
||||
languages in their tree. |
||||
|
||||
What feels "wrong" here is that Linus is saying that "Rust support" should |
||||
always be up, so if something breaks, they can point that it was broken |
||||
anyway. The "wrong" part is that this, obviously, puts visibility on things |
||||
that _don't_ work instead of focusing on the things that _do_ work. What if |
||||
there are a couple of modules working fine, but only one fails? Obviously |
||||
everybody will point out that the support _doesn't_ work and people should |
||||
stick with what still works. |
||||
|
||||
But Linus, you know... |
||||
|
||||
## [Awful AI](https://github.com/daviddao/awful-ai) |
||||
|
||||
Not every AI is good. Not every AI will help you find an open spot for that |
||||
meeting with everyone. Not every AI will tag your photos with locations and |
||||
loved one -- but they would tag any black people as "gorillas". Or maybe say |
||||
who may be gay or not (and think how those people would be affected on |
||||
countries that see homosexuality as a crime). The list goes on and on. |
||||
|
||||
## [gitignore.io](https://www.toptal.com/developers/gitignore) |
||||
|
||||
Create a comprehensive `.gitignore` for your project, based on your language |
||||
and tools. |
||||
|
||||
## [The real difference between CI and CD](https://fire.ci/blog/the-difference-between-ci-and-cd/) |
||||
|
||||
What does CI and CD do? What they are there for? |
||||
|
||||
I've been thinking about doing a presentation for people starting with in |
||||
development about each of those -- 'cause, you know, there are a bunch of |
||||
people still thinking `git push` on your computer and `git pull` on the |
||||
production server is a good decision... |
||||
|
@ -0,0 +1,87 @@
|
||||
+++ |
||||
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: |
||||
--> |
Loading…
Reference in new issue