⚙️ Node.js 22 e Ubuntu 24.04 LTS recém-saídos de stage
Node vem com require() para módulos ES e Ubuntu ganha front-end em Flutter. Mais: liderança de software, feito de engenharia na NASA, Stainless (gerador de SDKs para APIs) e giro da semana na IA
Node.js 22 e Ubuntu 24.04 LTS vieram a público nos últimos dias. O runtime de JavaScript passa a ter require()
com um sinalizador para módulos ES, implementação do WebSocket compatível com o navegador por padrão, além do node --watch
se tornar estável.
Já o sistema operacional da Canonical, apelidado de "Noble Numbat" — em referência a um pequeno marsupial da Austrália —, ganhou front-ends em Flutter e melhorias no App Center. Para sysadmins e devs, expande suporte a políticas de grupo, melhora segurança dos PPAs e aprimora o WSL (Windows Subsystem for Linux).
Novidades do Node.js 22
require() para módulos ES: até então,
require()
suportava módulos CommonJS, enquantoimport
era preferencial para ECMAScript (ES). Agora, sob a flag--experimental-require-module
, carrega módulos ES síncronos. Ainda experimental, no entanto.execução de scripts package.json: permite rodar os script usando
node --run <script-in-package-json>
e suporta testes comnode --run test
.node --watch estável: o modo de observador (
node --watch
) deixa de ser experimental.WebSocket: implementação do WebSocket compatível com o navegador, que antes dependia da flag
--experimental-websocket
, agora é habilitada por padrão, fornecendo um cliente WebSocket sem dependências.glob e globSync: adição das funções
glob
eglobSync
para correspondência de padrões no módulofs
(file system).
Novidades do Ubuntu 24.04 LTS
Para usuários comuns:
novo front-end construído em Flutter, com melhorias de acessibilidade e experiência do usuário;
instalação automática integrada no gerenciador gráficos — feita por meio de um arquivo autoinstall.yaml;
novo App Center, também construído em Flutter, com novo visual e melhoria na descoberta de aplicativos.
Para sysadmins e desenvolvedores:
ferramenta netplan como padrão para configurações de rede;
suporte adicional para Group Policy Objects (GPOs);
suporte à inicialização de instância cloud-init no WSL, permitindo que sysadmins propaguem arquivos de configuração personalizados nas máquinas de devs para criar ambientes padronizados;
restrição de namespaces de usuários sem privilégios;
PPAs e APT mais seguros.
Para saber mais
O anúncio completo do Node.js está disponível neste release. A versão se torna estável (LTS) em outubro. Sobre o Ubuntu, é possível saber mais neste post do gerente de produto sênior da Canonical e neste outro, do tech lead de segurança da empresa.
👔 Tornar-se líder ou permanecer desenvolvedor?
Essa questão certamente ocupa tanto devs experientes quanto novatos. O portal InfoQ traz um painel de discussão que debate a escolha. Entre os principais desafios de quem se torna líder, o painel destaca o peso da tomada de decisões, ser ouvido (para mulheres, ainda mais) e lidar com a síndrome do impostor. Porém, habilidades que técnicos já possuem, como comunicação e relacionamento no time, projeção de soluções e resolução de problemas, são transponíveis à liderança. A quem sente falta da vida técnica na liderança, posições de líder técnico, projetos pessoais ou mesmo reconsiderar uma guinada para trás são os conselhos dados.
🪐 Feito de engenharia de software restabelece comunicação com a sonda Voyager 1
Engenheiros de software da NASA realizaram um feito. Mesmo com delay de 22,5 horas para enviar códigos e outras 22,5 horas para confirmar a solução, conseguiram reparar a Voyager 1, uma das duas sondas espaciais mais antigas e distantes em atividade, lançada em 1977. No fim de 2023, ela deixou de enviar dados. Engenheiros conseguiram identificar a falha, que ocorria em um chip que armazena código do sistema de voo (FDS). A solução, engenhosa, foi distribuir o código afetado em locais de memória diferentes do FDS. A implementação foi em 18 de abril e, por causa do delay, o êxito foi constatado no dia 20. A sonda está a 24 bilhões de quilômetros da Terra.
💡 Stainless, solução interessante em tempos de IA e de muitas APIs
O engenheiro Alex Rattray, ex-funcionário da solução de pagamentos Stripe, teve uma ideia com potencial de arrebanhar um bocado de dólares. Em tempos de IA, quando empresas como OpenAI, Anthropic e outras estão lançando uma enxurrada de APIs no mercado, ele criou Stainless, um gerador de SDKs em diversas linguagens de programação, que escala esse tipo de trabalho. Isso permite que, em vez de disponibilizar apenas APIs e suas documentações, outras empresas entreguem ferramentas para desenvolvedores muito mais amigáveis. O Techcrunch conta um pouco mais da história. O site da própria Stainless explica a solução.
🤖 Giro na IA: mini modelos, Firefly, Linus Torvalds para céticos e sensações da semana
Resumão do que ganhou mídia em IA e robótica na semana. Destaques para os mini modelos Phi-3, da Microsoft, família de LLMs pequenos que roda diretamente em dispositivos, e OpenELM, da Apple, exclusiva para iPhones e Macs. Fora isso, Firefly, IA da Adobe para Photoshop, impressiona pela qualidade das imagens. Para quem odeia o hype, não pode perder as opiniões de Linus Torvalds. E no lado "pop", a sensação ficou com o New Atlas (novo robô da Boston Dynamics), Thermonator (cão-robô que cospe fogo) e VASA-1, que, com uma foto e um clipe de áudio, gera um vídeo da pessoa falando — e criações hilárias como essa.
🔬Nos bastidores dos chips, para quem curte alta tecnologia
Em 12/04/2024, falamos de previsões da TMSC para GPUs de um trilhão de transistores. Uma curiosidade sobre essa indústria e sua complexidade são as máquinas que fazem a litografia (“impressão”) de chips. Pense em algo como canhões de luz, ultra-otimizados por "crânios" da Física, capazes de desenhar "labirintos" de nanômetros de espessura em placas de silício, onde a mágica dos bits acontecerá. A empresa holandesa ASML é uma das que fornece esse tipo de equipamento à TMSC. O site da companhia conta parte da história e explica um pouco da alta tecnologia empregada.
❓O que é I/O não bloqueante no Node.js?
Esse é daqueles conceitos que, talvez, você já saiba ou intua. Mas, vamos concordar, não é tão simples de explicar, não é? Responder essa valerá como exercício de comunicação de conceitos complexos.
A propósito, a resposta à pergunta da edição anterior é: embora cargos de "desenvolvedor" e "engenheiro" de software sejam cada vez mais intercambiáveis, a atividade de desenvolver software é o processo de criar (codar) e manter programas ou aplicações de software. Envolve entender requisitos, programar de fato, testar e colocar código em produção. Já a atividade de engenharia de software vai além e alia princípios de engenharia ao desenvolvimento, como gestão de projetos, gestão do processo de desenvolvimento, controle de qualidade, arquitetura e padrões de design, governança, entre outros métodos. A Wikipédia (aqui e aqui) ajuda a entender mais.
Obrigado por ler!
Voltaremos com mais fatos, tendências e dicas na próxima sexta. Curta, compartilhe, comente e vote na enquete. Obrigado por ler e por estar com Be!