Category: Desenvolvimento

Ataque de Exfiltração de Tokens PyPI via Workflows do GitHub Actions

2025-09-20
Ataque de Exfiltração de Tokens PyPI via Workflows do GitHub Actions

Uma recente campanha de ataque visou workflows do GitHub Actions para roubar tokens de publicação PyPI. Os atacantes modificaram workflows em vários repositórios, enviando tokens PyPI armazenados como segredos do GitHub para servidores externos. Embora alguns tokens tenham sido exfiltrados, eles não foram usados no PyPI. Todos os tokens afetados foram invalidados e os mantenedores afetados foram notificados. Recomenda-se o uso dos Trusted Publishers do GitHub Actions para mitigar ataques futuros.

Desenvolvimento Violação de Segurança

MapSCII: Explore o Mundo em Seu Terminal

2025-09-20
MapSCII: Explore o Mundo em Seu Terminal

MapSCII é um renderizador de tiles vetoriais baseado em Node.js que exibe mapas em caracteres Braille e ASCII em terminais compatíveis com xterm. Recursos incluem arrastar e ampliar com o mouse, estilo de camada personalizável (suporte a Mapbox Styles), conexão a servidores de tiles vetoriais públicos ou privados e uso offline com VectorTile/MBTiles locais. A instalação é simples, suportando vários sistemas operacionais e terminais. Algoritmos altamente otimizados garantem uma experiência suave. É de código aberto, gratuito e usa dados do OpenStreetMap sob as licenças ODbL e CC BY-SA.

Desenvolvimento

Cifra de Grito: Um Uso Inovador de Caracteres Unicode

2025-09-20
Cifra de Grito: Um Uso Inovador de Caracteres Unicode

Este artigo apresenta um algoritmo criptográfico divertido - a "Cifra de Grito" - que utiliza as numerosas variações do caractere Unicode 'A' para criptografar texto. Um mapeamento simples de dicionário substitui letras padrão por diferentes caracteres 'A' para criptografia e descriptografia. O código Python demonstra a implementação do algoritmo, criptografando e descriptografando com sucesso o texto de exemplo "SCREAM CIPHER". Isso mostra a riqueza do conjunto de caracteres Unicode, oferecendo um método de criptografia único, embora simples.

Desenvolvimento

Assistentes de codificação de IA: a revisão de código é fundamental

2025-09-20

Modelos de linguagem grandes são excelentes em gerar código, mas carecem do julgamento de um engenheiro de software experiente, muitas vezes levando a escolhas de design ruins. O autor usa anedotas pessoais para ilustrar como os assistentes de codificação de IA (como Codex e Claude Code), embora poderosos, exigem supervisão próxima para evitar que se desviem para becos sem saída arquitetônicos. O autor argumenta que dominar a revisão de código, particularmente focando na estrutura do código e identificando oportunidades de melhoria, é crucial para o uso eficaz dessas ferramentas. A dependência cega ou o micromanagement excessivo prejudicarão a produtividade. Em última análise, o autor afirma que a codificação de IA atual é mais semelhante à 'programação centauro' — uma colaboração entre humanos e máquinas — do que uma substituição completa de humanos.

Desenvolvimento

XMonad Busca Desenvolvedor para Porta Wayland

2025-09-20

A equipe de desenvolvimento do XMonad vem coletando contribuições por dois anos para financiar um desenvolvedor para portar o XMonad para o Wayland. Agora eles têm fundos suficientes, mas faltam desenvolvedores adequados. A porta existente está muito deteriorada, usando uma versão desatualizada e com bugs do wlroots. Um desafio-chave é que os programas Wayland carecem de identificadores exclusivos para hooks de gerenciamento de janelas. A equipe está buscando ajuda em seu fórum Discourse, acolhendo propostas de desenvolvedores interessados.

Desenvolvimento

RMCP: Revolucionando a análise estatística com linguagem natural

2025-09-20
RMCP: Revolucionando a análise estatística com linguagem natural

O RMCP é um poderoso servidor de Protocolo de Contexto de Modelo (MCP) que oferece mais de 40 ferramentas de análise estatística, cobrindo regressão, análise de séries temporais, aprendizado de máquina e muito mais. Os usuários interagem por meio de linguagem natural com assistentes de IA para executar tarefas complexas de modelagem estatística e ciência de dados. O RMCP suporta vários formatos de importação e exportação de dados, inclui recuperação inteligente de erros e simplifica significativamente o fluxo de trabalho de análise. Seu construtor de fórmulas de linguagem natural embutido converte descrições em linguagem natural em fórmulas R, fornecendo visualizações. De analistas de negócios e economistas a cientistas de dados, o RMCP melhora drasticamente a eficiência.

Desenvolvimento

arXivLabs: Construindo Novos Recursos arXiv com Colaboração da Comunidade

2025-09-20
arXivLabs: Construindo Novos Recursos arXiv com Colaboração da Comunidade

arXivLabs é uma estrutura que permite que desenvolvedores colaborem e compartilhem novos recursos do arXiv diretamente no site do arXiv. Os participantes devem aderir aos valores do arXiv de abertura, comunidade, excelência e privacidade dos dados do usuário. Tem uma ideia para melhorar a comunidade arXiv? Saiba mais sobre o arXivLabs!

Desenvolvimento

Archy: Um editor de texto programável inspirado em THE

2025-09-20
Archy: Um editor de texto programável inspirado em THE

Archy é um editor de texto poderoso onde os comandos não são predefinidos, mas sim scripts Python definidos pelo usuário. Isso permite uma flexibilidade incrível; os usuários podem criar comandos personalizados para executar ações como pesquisas na web (comando GOOGLE) ou enviar emails (comando EMAIL). Ao contrário do THE, os comandos do Archy existem como documentos dentro do espaço de trabalho, editáveis e modificáveis ​​em tempo real sem reiniciar. O Archy também possui controle de versão, salvando versões do espaço de trabalho para fácil reversão. O artigo demonstra a criação e execução de comandos personalizados, explorando a filosofia de design do Archy e suas potenciais aplicações em plataformas modernas. O autor lamenta a falta de abordagens semelhantes em sistemas modernos, cada vez mais bloqueados.

Desenvolvimento programável

Quatro maneiras de encontrar o argmin de floats em Rust (e seu desempenho)

2025-09-20

Este artigo explora quatro métodos para encontrar rapidamente o índice do valor mínimo em um grande array de números de ponto flutuante em Rust. O primeiro método usa `min_by` e `total_cmp`, levando 511 microssegundos; o segundo usa `reduce`, levando 489 microssegundos; o terceiro usa `partial_cmp`, levando 470 microssegundos; e o quarto utiliza a representação de bits de floats positivos, convertendo-os para `u32` para comparação, levando apenas 370 microssegundos - uma aceleração de 30%. O quarto método se mostra mais eficiente para arrays contendo apenas números positivos, explorando inteligentemente a representação interna dos floats para evitar comparações complexas.

Desenvolvimento

Compilando com Continuações: Uma Retrospectiva e Revisão

2025-09-20

Esta resenha revisita o livro de 1992 de Appel, "Compiling with Continuations". O autor mergulha na explicação detalhada do livro sobre técnicas de compilação usando continuações, cobrindo tópicos como a linguagem MiniML, análise léxica, análise sintática, a linguagem CPS, conversão de fechamentos, estouro de registradores e a máquina virtual. Apesar da falta de exercícios e de mostrar sua idade em alguns aspectos, o livro oferece insights valiosos sobre Standard ML e estilo de passagem de continuação, particularmente para aqueles que estudam design de compiladores e programação funcional. No entanto, ambiguidades em detalhes de implementação e falta de discussão sobre tecnologias modernas de compiladores tornam a leitura desafiadora.

Desenvolvimento continuações

C0: Um Cache de Leitura de Alto Desempenho para Armazenamento de Objetos

2025-09-20
C0: Um Cache de Leitura de Alto Desempenho para Armazenamento de Objetos

C0 é uma API HTTP de alto desempenho projetada para armazenar em cache blobs imutáveis em armazenamento de objetos. Ele utiliza um cache híbrido de memória e disco (alimentado pelo foyer) e funciona com qualquer backend compatível com S3, mas usa sua própria API /fetch que requer um cabeçalho Range preciso. Empregando um tamanho de página fixo de 16 MiB, C0 mapeia intervalos de bytes solicitados para pesquisas alinhadas à página, combina solicitações concorrentes para a mesma página e usa solicitações protegidas para gerenciar a latência de cauda do armazenamento de objetos. Ele pode até tentar buckets redundantes. C0 oferece opções de configuração extensas, incluindo configurações de tempo limite, mecanismos de retry e priorização de buckets, e fornece monitoramento de desempenho por meio dos endpoints /stats e /metrics. Imagens do Docker estão disponíveis.

Desenvolvimento

Verificações de dependências reversas do CRAN: Uma abordagem única para manutenção de software

2025-09-20
Verificações de dependências reversas do CRAN: Uma abordagem única para manutenção de software

Um engenheiro de software experiente, inicialmente perplexo com o gerenciador de pacotes R, CRAN, e suas verificações de dependências reversas, compartilha sua experiência. Ao contrário do npm ou PyPI, o CRAN verifica todos os pacotes que dependem de um pacote submetido antes da publicação. O autor relata como a abordagem do CRAN afeta a manutenção de software, destacando sua contribuição para a estabilidade do ecossistema R. Essa experiência mudou a perspectiva do autor sobre a manutenção de software, levando a uma compreensão da 'mentalidade de monorepositório' — desenvolvedores assumindo a responsabilidade por todos os projetos que dependem de seu código.

Desenvolvimento

Segurança da cadeia de suprimentos do Obsidian: Uma abordagem cautelosa

2025-09-20
Segurança da cadeia de suprimentos do Obsidian: Uma abordagem cautelosa

Obsidian, um aplicativo de anotações, emprega uma estratégia de segurança rigorosa para mitigar ataques à cadeia de suprimentos. Isso envolve minimizar dependências de terceiros, fixar estritamente a versão de todas as dependências com um arquivo de bloqueio e um processo de atualização minucioso (incluindo revisões linha a linha do changelog e testes abrangentes), evitar scripts postinstall e implementar um atraso significativo entre as atualizações de dependências e os lançamentos para permitir tempo para a comunidade e pesquisadores detectarem versões maliciosas. Essas medidas reduzem significativamente a vulnerabilidade do Obsidian a ataques à cadeia de suprimentos, garantindo a segurança e a privacidade dos dados do usuário.

Desenvolvimento

Zedis: Um Armazenamento de Dados em Memória Compatível com Redis em Zig

2025-09-19
Zedis: Um Armazenamento de Dados em Memória Compatível com Redis em Zig

Zedis é um armazenamento de dados em memória compatível com Redis, escrito em Zig, projetado para aprendizado e experimentação. Ele implementa o protocolo Redis principal e estruturas de dados, focando em simplicidade, desempenho e segurança de threads. Suporta comandos Redis essenciais (GET, SET, INCR, etc.), vários tipos de dados e persistência em disco (RDB), com pub/sub adicionado recentemente. Zedis é fácil de construir e usar, com uma base de código que segue as convenções do Zig, apresentando operações com segurança de tipo, tratamento explícito de erros e logs abrangentes.

Desenvolvimento banco de dados em memória

HDR e Tone Mapping em Shaders do GameMaker

2025-09-19
HDR e Tone Mapping em Shaders do GameMaker

Este artigo explora o tratamento de cores de alto alcance dinâmico (HDR) em shaders do GameMaker. O formato de cor padrão do GameMaker, 8-bit unorm, pode levar a cortes de cores e imprecisões ao lidar com cenários de alta luminosidade, como shaders de sol. O autor demonstra os problemas comparando cores de 6 bits e de ponto flutuante e apresenta várias funções comuns de tone mapping (ACES, Uncharted2, Unreal e tanh) para mitigar artefatos de recorte de cores. Usando o projeto MandelBots como exemplo, o artigo destaca a necessidade de usar superfícies HDR (surface_rgba16float) em sistemas de iluminação complexos para melhor precisão e mistura de cores.

Desenvolvimento

O Enigma do Tempo Gasto com o Tratamento de Erros no Desenvolvimento de Software

2025-09-19

Um engenheiro de software luta para encontrar pesquisas que quantifiquem o tempo que os desenvolvedores gastam com código de detecção e tratamento de erros. Embora se acredite amplamente que isso constitui uma parte significativa, talvez excedendo dois terços do código de produção, faltam dados confiáveis. Isso contrasta com a quantificação precisa de várias métricas na pesquisa atual de IA, destacando uma lacuna na compreensão de aspectos fundamentais da engenharia de software.

Desenvolvimento proporção de código

RFC: Suporte à arquitetura multikernel no kernel Linux

2025-09-19

Cong Wang enviou uma série de patches RFC que introduzem suporte à arquitetura multikernel no kernel Linux. Isso permite que várias instâncias independentes do kernel coexistam e se comuniquem em uma única máquina física, cada uma rodando em núcleos de CPU dedicados enquanto compartilham recursos de hardware. Isso melhora o isolamento de falhas, aumenta a segurança, oferece melhor utilização de recursos do que VMs tradicionais e potencialmente permite atualizações de kernel com tempo de inatividade zero. A implementação utiliza a infraestrutura kexec e uma estrutura IPI dedicada para comunicação entre kernels. Este é um RFC básico, buscando principalmente feedback sobre o design de alto nível.

Desenvolvimento

Os Muitos Feeds Quebrados: Uma Saga de Mais de 700 Assinaturas

2025-09-19

Mantendo mais de 700 feeds RSS/Atom, o autor detalha as várias maneiras pelas quais essas correntes de informação cruciais podem quebrar. De certificados SSL expirados e tempos limite do servidor a firewalls mal configurados, interrupções do servidor, URLs de feed alteradas, erros de análise, exclusão de feed e exclusão de site, a postagem fornece uma lista abrangente de problemas comuns. As soluções incluem renovação automática de SSL, otimização do desempenho do servidor, ajustes de regras de firewall, monitoramento de site, redirecionamento adequado de URL e validação regular de feed. Um apelo apaixonado é feito para manter o RSS vivo.

Desenvolvimento

A Morte do Desenvolvedor Curioso?

2025-09-19
A Morte do Desenvolvedor Curioso?

Este artigo lamenta uma mudança na cultura de desenvolvimento. Antigamente impulsionada pela curiosidade e pela paixão por aprender, levando a inovações como Linux e Git, os desenvolvedores agora priorizam cada vez mais métricas, receita e escala. Isso muitas vezes os força a usar tecnologias que não gostam e construir produtos pelos quais não se importam. O autor argumenta que essa mudança sufoca a inovação e a criatividade, incentivando os desenvolvedores a redescobrir sua curiosidade e paixão pela criação, mesmo que seja apenas para resolver seus próprios problemas. O artigo enfatiza a importância de construir pelo prazer de fazê-lo, mesmo que o projeto não seja comercialmente viável.

Desenvolvimento cultura de desenvolvimento

A Lei de Dados da UE Acaba com a Receita Anual Recorrente (ARR) em SaaS

2025-09-19
A Lei de Dados da UE Acaba com a Receita Anual Recorrente (ARR) em SaaS

A Lei de Dados da UE, em vigor a partir de setembro de 2025, muda drasticamente o cenário do SaaS na Europa. Ela determina que todos os contratos de SaaS com clientes da UE se tornem assinaturas "canceláveis a qualquer momento", exigindo apenas dois meses de aviso prévio. Isso efetivamente acaba com a dependência da Receita Anual Recorrente (ARR) como uma métrica previsível. As empresas de SaaS precisam se adaptar, focando em modelos de precificação, estratégias de retenção de clientes e mitigando a rotatividade involuntária devido a falhas do cliente. O sucesso dependerá de um gerenciamento robusto de relacionamento com o cliente e resiliência operacional, e não de termos contratuais.

Desenvolvimento Lei de Dados da UE

Google Reforça a Verificação de Desenvolvedores do Android: Sideloading Offline Pode Ser Restrito

2025-09-19
Google Reforça a Verificação de Desenvolvedores do Android: Sideloading Offline Pode Ser Restrito

O Google está reforçando seu sistema de verificação de desenvolvedores do Android, exigindo que os desenvolvedores registrem suas identidades e impedindo a instalação de aplicativos não verificados. Embora existam soluções alternativas, como o ADB, um código recente do SDK do Android sugere que até mesmo aplicativos verificados podem não ser instaláveis offline. Isso significa que até mesmo aplicativos seguros podem ser bloqueados da instalação sem uma conexão de rede, potencialmente causando inconvenientes a alguns usuários. A política será implementada em um ano, deixando tempo para refinar os detalhes e encontrar soluções.

Desenvolvimento

99 Demonstrações de Física Impressionantes: Um Recurso de Ensino de Código Aberto

2025-09-19

Este livro de código aberto compila 99 das melhores e mais belas demonstrações de física da série holandesa "ShowdeFysica", incorporando várias estratégias de ensino para tornar as demonstrações mágicas e educativas. Inclui vídeos e simulações Python fáceis de executar sem precisar de nenhuma instalação de software. Os leitores podem pesquisar demonstrações por tópico e contribuir com sugestões por meio da plataforma online.

Dynamo AI Contrata Engenheiro Sênior de Kubernetes para Implantações de IA Empresarial

2025-09-19
Dynamo AI Contrata Engenheiro Sênior de Kubernetes para Implantações de IA Empresarial

A Dynamo AI está procurando um Engenheiro Sênior de Kubernetes para liderar os clientes corporativos em toda a jornada, desde o primeiro contato até a implantação bem-sucedida na produção. Essa função prática e voltada para o cliente envolve a implantação de sistemas de IA seguros e escaláveis usando Kubernetes, Helm e ferramentas nativas da nuvem. O candidato ideal terá ampla experiência em Kubernetes e plataformas em nuvem, excelentes habilidades de comunicação e autorização de segurança do governo dos EUA ou cidadania americana. Presença no escritório em São Francisco ou Nova York por 2 a 3 dias por semana é obrigatória.

Desenvolvimento

Compilação JIT para Máquina de Pilha com SLJIT: Uma História de Otimização

2025-09-19

Este artigo detalha a jornada do autor na implementação de um compilador JIT para sua máquina virtual uxn baseada em pilha usando o SLJIT. As tentativas iniciais renderam ganhos de desempenho mínimos devido aos frequentes saltos dinâmicos do uxn. No entanto, através de uma série de otimizações — incluindo convenções de chamada refinadas, armazenamento em cache de pilha e estratégias de alocação de registradores — uma aceleração de 30-46% foi alcançada. O artigo documenta meticulosamente o processo de otimização, os desafios encontrados e as técnicas de depuração, fornecendo insights valiosos para aqueles interessados em compilação JIT e otimização de máquinas virtuais baseadas em pilha.

Desenvolvimento Máquina de Pilha

Deno luta contra a marca registrada JavaScript da Oracle: Fase de descoberta crucial

2025-09-19
Deno luta contra a marca registrada JavaScript da Oracle: Fase de descoberta crucial

O Deno, um tempo de execução JavaScript, está lutando contra a Oracle pela marca registrada "JavaScript". Após apresentar um pedido de cancelamento após uma carta aberta amplamente assinada, eles chegaram à fase crucial de descoberta. Diante de um litígio caro, o Deno lançou uma campanha GoFundMe para financiar pesquisas profissionais, testemunhas especialistas e arquivos legais para provar que "JavaScript" é um termo genérico, não uma marca da Oracle. O resultado determinará se marcas registradas podem ser usadas para reivindicar a propriedade de termos genéricos e impactar o futuro do desenvolvimento de código aberto.

Desenvolvimento

Navegador embutido do iTerm2: Terminal encontra a Web

2025-09-19

O iTerm2 agora possui um navegador da web embutido, integrando perfeitamente a navegação na web à sua arquitetura existente de janela, guia e painel dividido. Os usuários podem trabalhar no terminal e navegar na web simultaneamente na mesma interface. Ele suporta vários atalhos de teclado, como Cmd + clique para abrir links em novas guias e Cmd + Shift + clique para novos painéis divididos verticais. A integração do bate-papo com IA permite resumir, analisar ou questionar a página atual. Recursos de privacidade incluem modo anônimo, bloqueio de pop-ups e bloqueio de anúncios. Embora não seja uma substituição de navegador primário, é uma ferramenta poderosa para fluxos de trabalho integrados de terminal e web.

Desenvolvimento navegador embutido

Desacoplando Alocação de Tempo da Alocação de Capacidade: A Chave para Melhorar a Eficiência da Equipe

2025-09-19
Desacoplando Alocação de Tempo da Alocação de Capacidade: A Chave para Melhorar a Eficiência da Equipe

Este artigo explora os equívocos em torno da alocação de capacidade da equipe. Muitas empresas igualam a alocação de tempo à alocação de capacidade, ignorando fatores sistêmicos que afetam as capacidades da equipe. O autor aponta que a capacidade não é simplesmente a soma das horas trabalhadas, mas abrange habilidades da equipe, ferramentas, processos e muito mais. Concentrar-se apenas na alocação de tempo enquanto ignora a otimização do sistema leva à ineficiência. O autor recomenda distinguir entre 'alocação de tempo' (onde a equipe gasta suas horas) e 'alocação de capacidade' (a verdadeira capacidade da equipe de entregar resultados), considerando vários fatores disruptivos, para melhorar a eficiência da equipe.

Desenvolvimento alocação de capacidade

LLaMA-Factory: Uma estrutura unificada para o ajuste fino eficiente de mais de 100 LLMs

2025-09-19
LLaMA-Factory: Uma estrutura unificada para o ajuste fino eficiente de mais de 100 LLMs

O LLaMA-Factory é uma estrutura de código aberto que permite o ajuste fino eficiente de mais de 100 modelos de linguagem grandes (LLMs), incluindo LLaMA, LLaVA e Mistral. Ele integra vários métodos de ajuste fino (como LoRA, QLoRA e OFT), oferece recursos escalonáveis e algoritmos avançados e abrange uma ampla gama de tarefas, como diálogo de várias voltas e compreensão de imagens. O LLaMA-Factory também suporta várias técnicas de aceleração de inferência e fornece uma interface e API amigáveis ao usuário. Constantemente atualizado com suporte para os modelos e técnicas mais recentes, o LLaMA-Factory visa fornecer aos desenvolvedores uma ferramenta conveniente e eficiente para ajuste fino de LLM.

Desenvolvimento

Rust para Linux: Novo tipo 'Untrusted' reforça a segurança do kernel

2025-09-19

O kernel do Linux enfrenta ameaças de segurança de várias fontes de dados não confiáveis, incluindo o espaço do usuário, redes e armazenamento removível. Para melhorar a segurança, Benno Lossin propõe uma nova API Rust que introduz o tipo `Untrusted` para marcar dados originários de fontes não confiáveis. Aproveitando o sistema de tipos do Rust, isso impede decisões acidentais com base em dados não validados do espaço do usuário, mitigando potenciais ataques. A API, agora em sua quarta revisão, inclui funções utilitárias e suporte para estruturas de dados comuns, como fatias e vetores. O uso futuro em funções `ioctl()` de drivers promete maior segurança do kernel, com discussões adicionais esperadas na próxima conferência Kangrejos sobre o projeto Rust para Linux.

Desbloqueando o FileVault do macOS remotamente via SSH

2025-09-19

Com o FileVault ativado no macOS, o volume de dados é bloqueado e inacessível durante e após a inicialização até a autenticação por senha. Como os arquivos de configuração do OpenSSH residem no volume de dados, a autenticação SSH padrão não está disponível. No entanto, com o Login Remoto ativado, a autenticação por senha SSH pode desbloquear o volume de dados remotamente. Após o desbloqueio, o macOS desconecta brevemente o SSH para montar o volume e iniciar os serviços dependentes, após o que o SSH é totalmente restaurado. Esse recurso apareceu no macOS 26 Tahoe.

Desenvolvimento
1 2 3 5 7 8 9 214 215