✍️🖥️ NDB #5 - C Como um Protocolo, Crise dos Chips, Dias que Não São
Olá! Boas vindas às Notas do Bidu!
C é um Protocolo, e não só uma linguagem de programação
C Isn't A Programming Language Anymore - Faultlore
Essa semana, li esse excelente texto por Aria Beingessner (@Gankra_). O ponto da autora é que C não é mais apenas uma linguagem de programação mas sim um protocolo pelo qual partes fundamentais da computação se comunicam. A linguagem C existe a tanto tempo e está envolvida em partes tão fundamentais da computação que, quando as coisas ficam um pouco mais avançadas, ela aparece mesmo que você não tenha planejado trabalhar diretamente nela.
Isso se aplica a diversas coisas como - principalmente - comunicação com partes de sistemas operacionais. O fato de C ter se tornado efetivamente um protocolo, não é um problema em si. A computação é lotada de protocolos de comunicação, como o HTTP, por exemplo. Protocolos são bons! Eles permitem que duas partes "falem a mesma língua". Se você abre uma página e vê um erro HTTP 404, por exemplo, você sabe que algo 'não foi encontrado'. Esse é o poder de protocolos - oferecer um caminho bem definido de comunicação.
Porém com C a história é bem diferente. C pode estar se comportando como um protocolo, mas não foi pensada como um. Além disso, o poder de protocolos de comunicação vêm em parte do fato de serem bem especificados, coisa que C não é. Como a autora descreve, C possui diversos comportamentos indefinidos, deixando muita coisa aberta para a interpretação de diversas plataformas. No exemplo do HTTP é quase como se o erro para 'não encontrado' fosse 404, se você estiver usando um navegador Firefox feito depois de 2015, mas o mesmo erro fosse "40.4-NF" se você estivesse usando Chrome. Isso cria todo tipo de problemas para algo que é usado como protocolo. As duas partes comunicantes precisam fazer um trabalho não trivial para tentar contornar essas limitações e diferenças.
Guerra na Ucrânia e Crise dos Chips
Exclusive: Russia's attack on Ukraine halts half of world's neon output for chips | Reuters
Ukraine's two leading suppliers of neon, which produce about half the world's supply of the key ingredient for making chips, have halted their operations as Moscow has sharpened its attack on the country, threatening to raise prices and aggravate the semiconductor shortage.
O processo de fabricação de chips de computador é extremamente complexo, caro e difícil. Uma planta de fabricação de semicondutores - conhecidas comumente como 'fab' ou 'foundry' - custa quase 10 bilhões de dólares para ser construída, com algumas projeções indicando USD20bi para o futuro próximo.
O processo todo é tão caro e custoso que muitas empresas famosas como AMD, Nvidia, Qualcomm, Broadcomm e Apple não fabricam os próprios chips. Essas empresas são chamadas de "fabless" - desenham seus chips e então enviam para empresas especializadas na fabricação. A famosa ARM vai um passo além - ela vende propriedade intelectual que é usada para desenhar o chip e então ser enviada para produção.
No meio desse quebra-cabeça global, caro e complicado, tivemos uma pandemia global que iniciou nossa atual crise dos chips. Só a indústria de automóveis projetou perdas de US$210 bilhões. No total, centenas de indústrias foram atingidas com a crise, que ainda perdura.
Agora com a invasão da Rússia na Ucrânia temos mais um fator agravante na crise - o gás neon. Esse gás é utilizado nos lasers envolvidos no processo. Atualmente, em torno de 50% do neon usado na indústria vem da Ucrânia.
Embora grandes empresas - como Intel e Samsung - possuem estoques, empresas menores não possuem o mesmo poder. Na cadeia produtiva de equipamentos eletrônicos, chips de fabricantes grandes e pequenos são usados. Ou seja, mesmo que grandes empresas consigam amenizar o impacto, existe uma chance razoável de que a cadeia produtiva de eletrônicos seja impactada nos próximos meses, caso a guerra não acabe.
Dias que Não São
Um dia, essa semana, acordei me sentindo mal. Uma mistura estranha de enjôo e dor de cabeça. Refleti sobre o dia anterior, não havia consumido nada de estranho. Tentei trabalhar, não consegui. Declarei 'dia de saúde', como a gente chama na minha empresa quando não consegue trabalhar por estar mal.
Sentei na minha mesa e fiquei refletindo - o que fazer? Bem, tomei um remédio para ajudar os sintomas e comecei a pensar nos meus dias. Ando lotado de trabalho vindo de diversas fontes. Tanto do meu emprego full-time como de outros projetos paralelos que tenho, mentorias, aulas que dou, consultorias, aulas que faço, etc. Olhei para minha agenda, meu Todoist, minha mesa, minha gaveta - tudo estava bagunçado.
A sensação era de sufocamento. Onde eu olhava, não conseguia ver o que deveria fazer. A quantidade de informação era absurda e separar sinal de ruído era praticamente impossível. Então eu parei e comecei a organizar as coisas.
Minha principal ferramenta? Dizer "não" para coisas que não faziam mais sentido, responder aquele e-mail que me propunha pegar 4 tarefas dizendo que eu poderia - naquele prazo - pegar no máximo uma ou duas, jogar fora aqueles 3 cabos USB-C que já não funcionavam, mas estavam na primeira gaveta do meu armário, cancelar aquele MBA aleatório que eu tava fazendo e não estava conseguindo aproveitar, alinhar expectativas com projetos que assumi, limpar armários.
Até a próxima semana!
Problemas? Sugestões? Críticas? "Socorro, meu sistema caiu"? Responda a esse email (bidu@notasdobidu.com)! Todas as mensagens são lidas (:
Me siga também no Twitter - @fevir0 ou no LinkedIn. Leia o blog completo em Notas do Bidu