Category: Desenvolvimento

GNOME Aumenta Dependência do Systemd: Desafios para Ambientes Sem Systemd

2025-06-11

O ambiente de desktop GNOME está aumentando sua dependência do systemd, apresentando desafios para ambientes sem systemd, como sistemas BSD. O GNOME 49 removerá o gerenciador de serviços integrado do gnome-session e dependerá do userdb do systemd para gerenciamento de usuários. Isso exige que distribuições sem systemd implementem alternativas ao systemd, como elogind e eudev, e forneçam o suporte necessário para a API userdb; caso contrário, o GNOME não funcionará corretamente. O artigo detalha os componentes do systemd que precisam ser substituídos e as estratégias de mitigação correspondentes, recomendando o uso do systemd ou a regressão para a versão GNOME 48.

Desenvolvimento

Debuggers: Um mergulho profundo na arquitetura de uma ferramenta de depuração de software

2025-06-11
Debuggers: Um mergulho profundo na arquitetura de uma ferramenta de depuração de software

Esta é a primeira de uma série de postagens sobre a arquitetura de debuggers. O autor, com base em anos de experiência no desenvolvimento de debuggers, explora os princípios básicos e a importância dessa ferramenta muitas vezes ignorada. Mais do que apenas uma ferramenta para corrigir bugs, um debugger fornece insights profundos sobre a execução de programas e permite a verificação da correção do código. A postagem detalha como os debuggers funcionam, incluindo a interação com o kernel, recursos de depuração da CPU, implementação de pontos de interrupção e execução passo a passo do código. Postagens futuras explorarão tópicos mais avançados e a direção do desenvolvimento de debuggers.

Desenvolvimento

FreeBSD 14.3 Lançado: Melhorias no ZFS, Drivers WiFi e Mais

2025-06-11

O FreeBSD 14.3, uma versão estável que serve como trampolim para o FreeBSD 15, está disponível. Esta versão traz diversas melhorias do FreeBSD 15, incluindo: ZFS atualizado para OpenZFS 2.2.7; drivers WiFi Realtek RTW88 e RTW89 mesclados com base no kernel Linux 6.14; aprimoramentos no LinuxKPI para offload de criptografia e suporte a 802.11n/ac; suporte ao driver Intel IX Ethernet para módulos x550 1000BAS-BX SFP; e atualizações para XZ, OpenSSH, OpenSSL e muitos outros pacotes. O driver de console legado Syscons está depreciado.

Desenvolvimento

Projeto Sophie Germain Prime: Um banco de dados para números primos especiais

2025-06-11

O Projeto Sophie Germain Prime é um banco de dados dedicado à coleta, análise e distribuição de números primos de Sophie Germain. Esses primos especiais p satisfazem a condição de que 2p + 1 também é primo (um primo seguro). O projeto também categoriza primos seguros ((p-1)/2 também é primo) e primos de Blum (p ≡ 3 (mod 4)). Os primos de Sophie Germain são amplamente usados em criptografia de chave pública e testes de primalidade. Mantido por Kamila Szewczyk, ele suporta pesquisas em algoritmos como o gerador de números aleatórios Blum-Blum-Shub. Uma API permite que os usuários enviem e consultem primos, mas existem limites de taxa.

Desenvolvimento

Mai: Use o Messenger para controlar IA com os óculos Meta

2025-06-10
Mai: Use o Messenger para controlar IA com os óculos Meta

Mai é uma extensão de navegador que permite controlar vários bots de IA (ChatGPT, Claude, etc.) usando comandos de voz por meio dos óculos inteligentes Meta Rayban ou do aplicativo Messenger. Ela inteligentemente contorna as limitações para enviar mensagens a modelos de IA personalizados. Os usuários podem configurar várias chaves de API, enviar mensagens e imagens para diferentes serviços de IA e até converter respostas em fala. Embora ainda esteja em estágio inicial, Mai mostra o potencial da integração futura de IA com dispositivos vestíveis.

Desenvolvimento Vestíveis

arXivLabs: Projetos experimentais com colaboradores da comunidade

2025-06-10
arXivLabs: Projetos experimentais com colaboradores da comunidade

arXivLabs é uma estrutura que permite que colaboradores desenvolvam e compartilhem novos recursos do arXiv diretamente em nosso site. Indivíduos e organizações que trabalham com o arXivLabs adotaram e aceitaram nossos valores de abertura, comunidade, excelência e privacidade de dados do usuário. O arXiv está comprometido com esses valores e trabalha apenas com parceiros que os respeitam. Tem uma ideia para um projeto que agregará valor à comunidade do arXiv? Saiba mais sobre o arXivLabs.

Desenvolvimento

XenevaOS: Um Sistema Operacional de Código Aberto Construído do Zero

2025-06-10
XenevaOS: Um Sistema Operacional de Código Aberto Construído do Zero

XenevaOS é um novo sistema operacional construído do zero, suportando arquiteturas x86_64 e ARM64. Seu kernel, 'Aurora', possui um design híbrido. Este projeto de código aberto recebe contribuições de desenvolvedores. Os recursos atuais incluem: suporte ACPI, kernels x64 e arm64, memória completa de metade superior, carregamento de driver DLL, USB3, áudio de alta definição, suporte para multiprocessador (o planejador de multiprocessador ainda não está pronto), biblioteca gráfica Chitralekha, gerenciador de janelas Deodhai, ambiente de desktop Namdapha, vários suportes de armazenamento, suporte de rede (IPv4, UDP/IP, TCP/IP, ICMP) e aplicativos básicos (reprodução de música, navegador de arquivos, etc.). O projeto está atualmente sendo construído em um ambiente Windows.

Desenvolvimento

Lembrando Mikeal Rogers: Um farol da comunidade de código aberto

2025-06-10
Lembrando Mikeal Rogers: Um farol da comunidade de código aberto

Esta comovente homenagem lembra Mikeal Rogers, um contribuidor chave do Node.js, que faleceu devido a um câncer agressivo. O autor relembra sua jornada compartilhada e o profundo impacto de Mikeal na comunidade de código aberto. A brilhante capacidade técnica de Mikeal, o pensamento claro e a genuína humanidade brilharam, enfatizando a conexão humana no cerne do código. Ele defendeu o código aberto como uma promessa, não apenas uma licença, mentorando outros e promovendo o crescimento. O autor se compromete a continuar o legado de Mikeal de construir comunidades inclusivas e abertas.

Desenvolvimento Homenagem

Ubuntu 25.10 abandona o suporte Xorg para GNOME, adota exclusivamente o Wayland

2025-06-10
Ubuntu 25.10 abandona o suporte Xorg para GNOME, adota exclusivamente o Wayland

O Ubuntu 25.10, codinome "Questing Quokka", está fazendo uma mudança significativa: a área de trabalho GNOME padrão usará exclusivamente o Wayland, abandonando o suporte para Xorg. Essa não é uma decisão repentina; o GNOME está eliminando gradualmente o suporte ao Xorg, e o Canonical está se adaptando proativamente. Isso permite que os usuários e desenvolvedores tenham um ciclo de lançamento completo para se ajustar antes do próximo LTS, Ubuntu 26.04, que chegará no próximo ano. A mudança é impulsionada pela maturidade do Wayland, suporte aprimorado para drivers Nvidia, melhor tratamento de telas sensíveis ao toque e monitores de alta DPI e uma simplificação do desenvolvimento, evitando a manutenção de dois servidores de exibição. Embora alguns usuários dependam do Xorg, ele não desaparecerá completamente; ainda pode ser instalado e usado com outros ambientes de área de trabalho. A maioria dos aplicativos X11 continuará funcionando por meio do XWayland.

Desenvolvimento

Armadilhas de Concorrência em Rust: Um gargalo de Contador Atômico

2025-06-10
Armadilhas de Concorrência em Rust: Um gargalo de Contador Atômico

A plataforma de análise de streaming da Conviva experimentou um gargalo de desempenho devido a um contador atômico aparentemente inócuo em um registro de tipo globalmente compartilhado usando um mapa hash concorrente (Flashmap). Sob alta concorrência, as atualizações do contador atômico causaram o efeito de 'ping-pong' de linhas de cache e troca de contexto excessiva, levando a um pico de latência P99. Substituir o Flashmap pelo Dashmap não resolveu o problema. O problema foi finalmente resolvido usando o ArcSwap, que emprega um mecanismo de atualização de cópia de leitura (RCU) para evitar a contenção de cache. Este caso destaca a importância de escolher a estrutura de dados certa para cenários de alta concorrência, particularmente em situações de leitura pesada, onde a eficiência do ArcSwap se destaca.

Desenvolvimento

Software Maleável: O Futuro da Computação é Guiado pelo Usuário

2025-06-10
Software Maleável: O Futuro da Computação é Guiado pelo Usuário

Este ensaio explora o conceito de "software maleável", um ecossistema de software onde os usuários podem facilmente adaptar ferramentas às suas necessidades. Os autores argumentam que a rigidez do software atual prejudica a autonomia e a criatividade do usuário, ilustrando o impacto negativo com exemplos da profissão médica. Eles contrastam a maleabilidade dos ambientes físicos com a inflexibilidade dos digitais, propondo três padrões de design para alcançar software maleável: uma curva suave de personalização, ferramentas compostas e criação comunitária. Os autores detalham vários protótipos de sistemas que sua equipe construiu, mostrando o potencial do software maleável, ao mesmo tempo em que reconhecem os desafios futuros, como privacidade, segurança e modelos de negócios. Em última análise, o ensaio clama por um ecossistema de computação mais centrado no usuário.

Desenvolvimento

arXivLabs: Projetos experimentais com colaboradores da comunidade

2025-06-10
arXivLabs: Projetos experimentais com colaboradores da comunidade

arXivLabs é uma estrutura que permite que colaboradores desenvolvam e compartilhem novos recursos do arXiv diretamente em nosso site. Indivíduos e organizações que trabalham com o arXivLabs adotaram e aceitaram nossos valores de abertura, comunidade, excelência e privacidade dos dados do usuário. O arXiv está comprometido com esses valores e trabalha apenas com parceiros que os respeitam. Tem uma ideia para um projeto que agregará valor à comunidade do arXiv? Saiba mais sobre o arXivLabs.

Desenvolvimento

arXivLabs: Experimentos com Colaboração da Comunidade

2025-06-10
arXivLabs: Experimentos com Colaboração da Comunidade

arXivLabs é uma estrutura para colaborar e implantar novos recursos do arXiv diretamente no site. Os participantes devem abraçar os valores do arXiv de abertura, comunidade, excelência e privacidade de dados do usuário. Tem uma ideia para melhorar a comunidade arXiv? Explore o arXivLabs!

Desenvolvimento

Stanford Integra IA para Superar o Aprendizado de Política de Segurança Nacional

2025-06-10
Stanford Integra IA para Superar o Aprendizado de Política de Segurança Nacional

A aula de política internacional de Stanford, "Tecnologia, Inovação e Concorrência de Grandes Potências", integrou ferramentas de IA para aprimorar significativamente a aprendizagem dos alunos. Os alunos usaram ChatGPT, Claude, Perplexity e outras ferramentas de IA para resumir documentos, identificar temas-chave, analisar conteúdo crítico e aplicar esses insights a desafios de segurança nacional do mundo real. Projetos em equipe revelaram usos inovadores de IA, incluindo a geração de perguntas para entrevistas, simulação de entrevistas e criação de apresentações. A aula demonstra o potencial da IA como uma ferramenta de aprendizagem poderosa, acelerando o aprendizado e aprofundando a compreensão.

Vulnerabilidades de injeção de shell escondidas em utilitários Unix

2025-06-10
Vulnerabilidades de injeção de shell escondidas em utilitários Unix

Muitas ferramentas Unix usam a função `system(3)` para executar comandos externos, levando a potenciais vulnerabilidades de injeção de shell. Este artigo analisa profundamente essa questão, analisando o comportamento de `system(3)`, `sh -c` e várias ferramentas como `watch`, `ssh` e `i3`, demonstrando como caracteres especiais de shell podem ser usados para contornar medidas de segurança. O autor defende a evitação de `system(3)` e fornece técnicas de mitigação, como o uso de `exec --` e aspas e escape adequados. Por fim, o artigo apela para que os desenvolvedores resolvam essas falhas de segurança em suas ferramentas.

Desenvolvimento injeção de shell

Pydoll: Automação de Navegador sem Webdrivers

2025-06-10
Pydoll: Automação de Navegador sem Webdrivers

Diga adeus aos pesadelos de compatibilidade de webdriver! Pydoll é uma biblioteca Python revolucionária que se conecta diretamente ao protocolo Chrome DevTools, eliminando a necessidade de drivers externos para automação de navegador. Possui bypass nativo de captcha (Cloudflare Turnstile e reCAPTCHA v3), desempenho assíncrono, interações semelhantes às humanas e um poderoso sistema de eventos. Sua simplicidade, poder e capacidade de lidar com proteções modernas de sites o tornam ideal para testes automatizados, web scraping e automação de tarefas repetitivas.

Desenvolvimento bypass de captcha

Vulnerabilidade Crítica no OpenPGP.js Permite Falsificação de Assinaturas

2025-06-10
Vulnerabilidade Crítica no OpenPGP.js Permite Falsificação de Assinaturas

A Codean Labs descobriu uma vulnerabilidade crítica (CVE-2025-47934) na biblioteca OpenPGP.js que permite que atacantes falsifiquem assinaturas arbitrárias. Ao aproveitar uma assinatura válida e anexar um pacote de dados malicioso, os atacantes podem enganar os verificadores OpenPGP.js para aceitar os dados maliciosos como assinados, falsificando efetivamente assinaturas. Essa vulnerabilidade afeta vários clientes de email baseados na web, representando um risco crítico. As versões 5.11.3 e 6.1.1 corrigem essa vulnerabilidade; atualizações imediatas são recomendadas.

Herança de Modelo C++ e Construção de Cópia: Um static_assert Intrigante

2025-06-10
Herança de Modelo C++ e Construção de Cópia: Um static_assert Intrigante

Este artigo explora uma questão intrigante sobre construtores de cópia em herança de modelo C++. A classe `Derived` herda da classe `Base`, onde o construtor de cópia de `Base` é excluído. No entanto, `Derived` define seu próprio construtor de cópia. Mesmo que este construtor tente copiar o objeto `Base` não copiável, `std::is_copy_constructible` ainda retorna verdadeiro. Isso ocorre porque o compilador apenas verifica a presença de um construtor de cópia não excluído, não sua instanciabilidade. O autor discute ainda as diferenças entre construtores de cópia explicitamente definidos e implicitamente definidos, e as implicações de mover a definição do construtor de cópia para fora da linha.

Desenvolvimento Construção de Cópia

patolette: Uma biblioteca de quantização de cores e dithering baseada em PCA

2025-06-10
patolette: Uma biblioteca de quantização de cores e dithering baseada em PCA

patolette é uma biblioteca C/Python para quantização de cores e dithering, implementando uma variante ponderada do quantizador baseado em PCA de Xiaolin Wu. Recursos importantes incluem suporte para espaços de cores CIEL*u*v* e ICtCp, ponderação opcional de mapa de saliência para áreas visualmente proeminentes e refinamento opcional de KMeans. Embora ainda esteja em desenvolvimento e sem um pacote PyPI, já é utilizável. A instalação manual é necessária, com suporte para conjunto de instruções AVX para aumentar o desempenho. A biblioteca não trata da decodificação/codificação de imagens; os usuários devem fazer isso sozinhos.

Desenvolvimento quantização de cores

Algoritmo de Cálculo de Caminho Esférico 3D

2025-06-10
Algoritmo de Cálculo de Caminho Esférico 3D

Este código implementa um algoritmo para calcular o caminho entre dois pontos em uma esfera 3D. Ele primeiro converte os vetores de início e fim para um sistema de coordenadas local, depois usa interpolação de quaternion para calcular vários pontos no caminho e, finalmente, gera uma curva conectando os dois pontos. O algoritmo utiliza de forma inteligente as propriedades de vetores 3D e quaternions para calcular eficientemente um caminho esférico suave, adequado para planejamento de caminho e animação em cenas 3D.

Paws-on-MCP: Implementação Unificada de Servidor MCP Pronto para Produção

2025-06-10
Paws-on-MCP: Implementação Unificada de Servidor MCP Pronto para Produção

Paws-on-MCP é um servidor abrangente do Protocolo de Contexto de Modelo (MCP) que implementa a especificação MCP 2025-03-26 mais recente. Ele demonstra as capacidades do MCP, incluindo ferramentas, recursos, prompts, raízes e amostragem aprimorada com preferências de modelo. O projeto possui integrações de API do HackerNews e GitHub com análise com tecnologia de IA por meio de amostragem avançada de MCP. A funcionalidade principal do MCP está pronta para produção, embora alguns testes tenham falhado devido a limitações de concorrência na estrutura.

Desenvolvimento

Para Além das Promises: Explorando o Poder dos Thenables em Operações Assíncronas JavaScript

2025-06-10

Este artigo mergulha no poder dos Thenables em JavaScript, objetos com um método `.then()` que podem ser aguardados usando a palavra-chave `await`, mesmo que não sejam objetos Promise. O artigo demonstra a criação de um Thenable simulando operações assíncronas e compara-o com a execução preguiçosa do Prisma. Embora destaque a natureza leve dos Thenables para operações assíncronas, o autor adverte que Thenables complexos podem ser mais difíceis de depurar, recomendando Promises nativas quando apropriado.

Desenvolvimento

Elastic Cloud Serverless: Atraso e Perda de Pacotes Instáveis no Azure AKS

2025-06-10
Elastic Cloud Serverless: Atraso e Perda de Pacotes Instáveis no Azure AKS

A equipe de Engenharia de Confiabilidade do Site (SRE) da Elastic observou uma taxa de transferência instável e perda de pacotes no Elastic Cloud Serverless em execução no Azure Kubernetes Service (AKS). A investigação revelou que os fatores principais que contribuem para isso são estouros do buffer de anel RX e saturação da fila de entrada do kernel em interfaces SR-IOV. Para solucionar esse problema, aumentamos os tamanhos dos buffers RX e ajustamos o backlog do netdev, o que melhorou significativamente a estabilidade da rede. Mesmo com hardware de alto desempenho, o ajuste dos parâmetros de rede em nível de sistema operacional é crucial para o desempenho ideal.

Desenvolvimento

Desvendando o Mistério do DOES> do Forth

2025-06-10

Este artigo mergulha na intrincada implementação da palavra `DOES>` na linguagem de programação Forth. `DOES>` permite a criação de 'estruturas de dados inteligentes' capazes de executar ações personalizadas. O autor explica meticulosamente os três aspectos temporais do `DOES>`: tempo de compilação, tempo de definição e tempo de execução. Usando os exemplos de `SHAPE` e `MAN`, o artigo ilustra como `DOES>` modifica o endereço de execução de palavras recém-criadas para alcançar sua funcionalidade, executando, em última análise, o código após `DOES>` em tempo de execução. A complexidade da implementação de `DOES>` e potenciais conflitos com a gestão de memória de sistemas operacionais modernos também são discutidos.

Desenvolvimento Projeto de Compilador

Por que agentes de IA são maus programadores em pares?

2025-06-10
Por que agentes de IA são maus programadores em pares?

O autor compartilha sua experiência com programação em par usando IA, descobrindo que a velocidade da IA supera a compreensão humana, levando a ineficiências. A solução proposta é dividir as tarefas em componentes menores e independentes, usar fluxos de trabalho assíncronos e reduzir a autonomia da IA. Isso inclui usar modos de edição por turnos, aumentar a comunicação e as etapas de confirmação e buscar um melhor equilíbrio entre velocidade e qualidade. O objetivo final é tornar o assistente de IA mais parecido com um colaborador humano do que um gerador de código de alta velocidade.

Desenvolvimento programação em par

container: Ferramenta de contêiner leve para Macs com Apple Silicon

2025-06-09
container: Ferramenta de contêiner leve para Macs com Apple Silicon

container é uma ferramenta baseada em Swift para criar e executar contêineres Linux no macOS como máquinas virtuais leves. É compatível com OCI, permitindo que você extraia e execute imagens de qualquer registro de contêiner padrão e envie imagens criadas. Ela utiliza novos recursos do macOS 26 Beta 1 e possui limitações de rede no macOS 15; a atualização é recomendada. Baixe o instalador na página de lançamentos do GitHub e use o script uninstall-container.sh para remoção. Os dados do usuário podem ser preservados durante a desinstalação.

Desenvolvimento

Prototipagem de uma linguagem CodeCAD: A busca pela 'hygge' de software

2025-06-09

O autor passou um mês criando um protótipo de uma linguagem CodeCAD, buscando não demonstrações chamativas, mas uma sensação de "hygge" de software: carregamento instantâneo, estabilidade e facilidade de uso. O artigo concentra-se nos desafios de prototipagem de um recurso de "edição bidirecional", sincronizando uma interface gráfica com um editor de código textual em tempo real. Vários obstáculos técnicos são discutidos, incluindo a reescrita de código, a sincronização do editor e da IU e a formatação de código. O autor compartilha recursos de aprendizado e reflexões sobre a construção de uma implementação de linguagem integrada e ferramentas de edição, bem como discussões sobre projetos existentes relacionados.

Desenvolvimento edição bidirecional

Apple lança framework de modelos de fundação para IA offline no WWDC2025

2025-06-09
Apple lança framework de modelos de fundação para IA offline no WWDC2025

A Apple anunciou sua nova estrutura "Foundation Models" na WWDC2025, permitindo que desenvolvedores utilizem modelos de IA no dispositivo, offline. Isso elimina custos com APIs em nuvem e melhora a privacidade do usuário. Usando Swift, os desenvolvedores podem acessar modelos Apple Intelligence com código mínimo, criando experiências personalizadas. Por exemplo, o Kahoot pode gerar questionários personalizados a partir das anotações do usuário. A estrutura está atualmente em testes para desenvolvedores, com uma versão beta pública sendo lançada no início do próximo mês.

Desenvolvimento IA offline

Executando Contêineres Linux no Apple Silicon: Apresentando o Containerization

2025-06-09
Executando Contêineres Linux no Apple Silicon: Apresentando o Containerization

Containerization é um projeto baseado em Swift que permite o uso de contêineres Linux no Apple Silicon. Aproveitando a virtualização, ele oferece APIs abrangentes para gerenciamento de imagens OCI, interação com registradores remotos, criação de sistemas de arquivos, configuração de rede, gerenciamento de VMs leves e execução de processos em contêineres. Um minissistema init, vminitd, gerencia processos dentro da VM. A construção requer um Mac com Apple Silicon, macOS 15+ e Xcode 26 Beta+. Uma configuração otimizada do kernel Linux garante tempos de inicialização rápidos. A versão 0.1.0 foi lançada, com contribuições da comunidade sendo bem-vindas.

Desenvolvimento

Munal OS: Um Sistema Operacional Experimental em Rust

2025-06-09
Munal OS: Um Sistema Operacional Experimental em Rust

O Munal OS é um sistema operacional experimental escrito inteiramente em Rust, com design de unikernel, escalonamento cooperativo e um modelo de segurança baseado em sandbox WASM. Ele abandona componentes tradicionais como bootloader, mapeamento de páginas, espaço de endereço virtual e interrupções. Em vez disso, todo o SO é compilado em um único binário EFI, incorporando o kernel, o mecanismo WASM e todos os aplicativos. A comunicação com o QEMU é feita por meio de drivers VirtIO, permitindo uma interface gráfica, driver de rede e pilha TCP. Embora atualmente limitado ao QEMU e sem suporte para vários núcleos e interrupções, seu design minimalista e sandbox baseado em WASM oferecem uma nova perspectiva para o design de SO.

Desenvolvimento
1 2 63 64 65 67 69 70 71 214 215