#003 - PC sem Vídeo | C++ e sua ISO | Pior Bug do Mundo

Semana no baixo nível: atualizações e assuntos que rolaram nos últimos dias na comunidade do desempenho

Muito obrigado por se inscrever!

PC atualizado e erro de vídeo Link para o cabeçalho

Já montei alguns computadores e nunca tive problemas, sempre ouvi falar do medo de não dar vídeo, mas amém nunca ocorreu comigo. Como dizem os sábios: tem uma primeira vez pra tudo. Pra ajudar, a placa acendia uma luz vermelha, e é sabido que luz vermelha quer dizer coisa ruim.

Então recorri aos melhores técnicos do Brasil: os devs da comunidade do desempenho. O lampejo de esperança voltou ao meu coração.

Fui fazer o básico que é testar a RAM e finalmente descobri que era de fato isso (eu tinha testado tirar só uma, deixei justamente a pifada). Depois de algumas borrachadas na RAM pifada, finalmente voltou a funcionar e as 4h da manhã fez-se a vida.

Fica a lição de nunca desistir e perseverar. Além da questão: por que eu estava montando um computador as 4h da manhã?

ISO do C++ e features imaginárias Link para o cabeçalho

Vocês sabem que eu amo discutir e polemizar com C++, e essa semana não vai ser diferente. Na live de terça o assunto surgiu, como sempre surge, e dessa vez resolvi debater por um lado diferente. Sabiam que C++ tem uma ISO (*)? Sabiam que você tem que pagar quase R$1500,00 para ter acesso a essa ISO?

Quem quer virar membro do comitê, pode tentar seguir os passos da ISO CPP e tentar ajudar nesse mundo.

Também vale ressaltar que C++ primeiro tem sua ISO publicada e só depois os compiladores correm atrás de implementá-las, geralmente muito tempo depois. Inclusive tem features do C++20 que ainda não estão completas no gcc ou msvc, 4 anos depois da ISO. Então se tem alguma coisa do C++26 que você está ansioso pra usar, pode esperar pra depois de 2030 para algum compilador, com sorte, ter suporte.

O Azion Deno mandou muitas mensagens sobre a história do C, C++ e essa questão de ISO, vale dar uma lida lá. Mas pra mim ainda é uma grande confusão, se alguém for do comitê da ISO ou souber mais sobre o processo, me manda um e-mail ou compartilha no Discord sua visão.

O Pior Bug do Mundo Link para o cabeçalho

Todo mundo de baixo nível já passou por algum tipo de bug de memória, mas nem todos passaram pelo pior de todos: desalinhamento de memória. Se você não sabe o que é isso, vai ter vídeo na semana que vem explicando (já disponível pra membros)

Note o "exit code -7" em cima da minha cabeça

O programa simplesmente crashou depois de 50 horas rodando com um código de saída -7, sem mais nem menos. O que é código -7? Sinal do Linux SIGBUS. O que quer dizer SIGBUS? Erro de alinhamento de memória. Onde está o erro de alinhamento? Talvez nem Deus saiba.

De todos os bugs de memória, problemas de alinhamento são os piores na minha experiência, muito difíceis de reproduzir e de corrigir. Vou rezar e esperar que não aconteça mais (e tirar as coerções de tipo do código).

Aprender Assembly em 2024? Link para o cabeçalho

Em pleno 2024 você poderia se perguntar: por que alguém aprenderia assembly? Para nós devs de baixo nível, a pergunta é por que não aprender? A linguagem de máquina trás para nós uma visão diferente sobre a programação, em que temos que construir todas as abstrações do zero, não há struct, chamadas de função como estamos acostumados, biblioteca padrão, é tudo nosso. Além da proximidade da CPU, com seus modos de endereçamento, registradores, flags de estado e outros conceitos que nem precisamos conhecer em C.

Nessa semana o pedroprior adicionou algumas fontes no nosso repositório low level references, para ajudar nós, aventureiros de baixo nível, a entrar e entender melhor desse mundo. Especialmente o ASM Tutor parece uma ótima fonte pra aprender x86_64, com lições curtas e diretas, evoluindo a complexidade de uma pra outra.

Notícias Link para o cabeçalho

  • IA da Google acha vulnerabilidade de dia 0 no SQLite, um stack buffer underflow, que é um acesso em uma memória “pra trás” do programa e pode causar um crash execução de código arbitrário (CWE). Há duas maneiras de ver isso: a IA pode nos ajudar a encontrar bugs (ou explorá-los); temos que aumentar o esforço para superar C/C++ e linguagens inseguras, especialmente para sistemas críticos. Eu sou desse último time. Créditos pro dev de baixo nível @Romero que mandou essa no Discord
  • Vale, Samarco e BHP são absolvidas pelo caso do rompimento das barragens de Mariana e Brumadinho. A justiça brasileira nunca cumpriu tão bem seu trabalho de manutenção do status quo do nosso regime.
  • Haddad junto do mercado pressiona para cortes na educação e saúde, com um malabarismo contábil para acabar com o piso da saúde e da educação, com declarações de ministros contra os cortes. Vale ressaltar que a União gasta anualmente +R$700Bi com os juros da dívida, e que o plano Safra (financiamento do governo pro agro) recorde bateu recorde de R$400Bi em 2024. O gasto ser um problema depende de quem recebe, com agro, bancos e grandes empresas o dinheiro vira investimento; pra saúde, educação, transporte o dinheiro vira gasto.
  • Homem comente atentado de bomba em Brasília e lembra a todos nós do que a alienação e o bolsonarismo são capazes de fazer com o ser humano. Espero que sirva ao menos para pararem com a conversa da anistia do 8 de janeiro, com os financiadores e influenciadores por trás sendo presos e tendo seus bens confiscados.

No canal Link para o cabeçalho

Como a Apple DESTRUIU a Intel com seu novo processador M4 e seus MacBooks. A incompetência da Intel de perder um mercado monopolizado (tinham +90% nos anos 2010) em menos de 15 anos e começar a ser ultrapassada por uma empresa que estava quase indo a falência 10 anos atrás (AMD) e outra que lançou seu primeiro chip há menos de 5 anos. Um feito de se tirar o chapéu.

Como aprender uma linguagem nova passando pra vocês o processo que usei pra aprender Zig, por onde começar, quais fontes utilizar e como praticar os conhecimentos na linguagem. Apesar de ser para linguagens, muita coisa dá pra seguir esse mesmo processo.

Para membros Link para o cabeçalho

Continuamos com a série do zGPU, agora migrando e fazendo o código entrar na GPU de fato (apesar de não fazer nada por lá).



Mal vejo a hora de mostrar pra vocês a maravilha que é fazer essas equações em C no OpenCL…

Redes Link para o cabeçalho

Não esqueçam de entrar na comunidade do Desempenho, o lugar dos devs mais baixo nível do Brasil.