Category: Desenvolvimento

Rodando aplicativos x86_64 em um desktop AArch64: Um experimento com FEX-Emu

2025-08-07
Rodando aplicativos x86_64 em um desktop AArch64: Um experimento com FEX-Emu

Esta publicação detalha um experimento rodando aplicativos x86_64 em um sistema desktop AArch64 baseado em Ampere Altra usando o FEX-emu. Embora Steam e Factorio tenham rodado, o desempenho foi ruim, obtendo pontuações baixas de 459 e 4110 nos testes de núcleo único e multi-núcleo do Geekbench 6, respectivamente. Otimizações na configuração do FEX-emu e a substituição da versão x86_64 da ferramenta de construção Ninja por uma versão aarch64 proporcionaram algumas melhorias de desempenho. Em última análise, o autor conclui que a emulação x86_64 neste sistema AArch64 é limitada na praticidade, sendo principalmente útil para executar jogos mais antigos.

Desenvolvimento emulação x86_64

Esqueça Monads: Abrace Transformações Naturais

2025-08-07

Este artigo questiona o uso excessivo de Monads na programação funcional. O autor argumenta que o conceito de Monads é excessivamente abstrato e propõe o uso direto das transformações naturais subjacentes para programação. Usando a linguagem Я como exemplo, o artigo explica como combinar diferentes Functors usando transformações naturais, comparando essa abordagem com Monad Transformers. Finalmente, defende a substituição de Monads por transformações naturais mais flexíveis e de baixo nível para um design de programa mais limpo e poderoso.

Desenvolvimento transformações naturais

Stasher: Compartilhamento de Segredos Efêmero e Sem Contas

2025-08-07
Stasher: Compartilhamento de Segredos Efêmero e Sem Contas

Stasher é uma ferramenta de linha de comando para compartilhamento de segredos seguro e efêmero. Sem contas, sem backend, apenas transmissão de segredos pura e criptografada usando AES-256-GCM. A funcionalidade de uso único garante que os segredos sejam excluídos após um único uso. Construído com total transparência da cadeia de suprimentos (criptograficamente assinado, atestado SLSA v1, registrado no Rekor), a natureza de código aberto do Stasher e a segurança verificável o tornam ideal até mesmo para os usuários mais paranoicos.

Splatshop: Edição Interativa de Modelos de Splat Gaussianos Massivos

2025-08-07

Splatshop é uma caixa de ferramentas altamente otimizada para edição interativa (seleção, exclusão, pintura, transformação, etc.) de modelos de splatting gaussianos 3D, manipulando até 100 milhões de primitivas em tempo real. Equilibrando velocidade e precisão, permite edições precisas sem sacrificar o desempenho. Além disso, o Splatshop é compatível com VR, sendo o primeiro editor VR para modelos de splatting gaussianos em larga escala — um passo significativo em direção a um 'Photoshop' para essa tecnologia.

Desenvolvimento

1,5 Anos de Programação Assistida por IA: Reflexões e Lições Aprendidas

2025-08-07
1,5 Anos de Programação Assistida por IA: Reflexões e Lições Aprendidas

Este artigo compartilha a experiência do autor de 1,5 ano usando IA para programação. A IA se destaca em tarefas de codificação repetitivas, refatoração e projetos simples, mas luta com problemas complexos e desenvolvimento novo, muitas vezes introduzindo erros e abstrações ineficientes. Interfaces de CLI se mostram mais eficazes do que IDEs devido ao maior controle do desenvolvedor. A IA auxilia no design e na escrita, mas a 'codificação vibe' (confiar exclusivamente em código gerado por IA) é desencorajada, levando a uma dívida técnica significativa e vulnerabilidades de segurança. O autor conclui que os principais beneficiários da IA ​​não são os desenvolvedores, mas sim os gerentes e clientes, facilitando a comunicação e a colaboração aprimoradas. O futuro da IA ​​na programação é brilhante, mas as empresas não devem usá-la como desculpa para demissões.

Desenvolvimento

Gemini CLI GitHub Actions: Seu companheiro de codificação com IA chegou!

2025-08-07
Gemini CLI GitHub Actions: Seu companheiro de codificação com IA chegou!

O Google lança o Gemini CLI GitHub Actions, um assistente de codificação com IA gratuito que automatiza a gestão de problemas e pull requests no GitHub. Ele classifica e prioriza problemas de forma inteligente, fornece feedback rápido sobre revisão de código e até mesmo escreve código, testes e muito mais com base em suas instruções. Basta mencionar @gemini-cli em um problema ou pull request para obter assistência de IA. Atualmente em versão beta, disponível para desenvolvedores em todo o mundo.

Desenvolvimento

Debouncing em Programação: Lidando Eficientemente com a Entrada do Usuário

2025-08-07
Debouncing em Programação: Lidando Eficientemente com a Entrada do Usuário

Em programação, debouncing é uma técnica usada para lidar com eventos frequentes, como entrada contínua do usuário. Ele descarta operações que ocorrem muito próximas umas das outras em um intervalo de tempo especificado, consolidando-as em uma única invocação para evitar lentidão na IU. Por exemplo, quando um usuário digita uma consulta de pesquisa, o debouncing espera por uma pausa antes de executar a pesquisa, melhorando a eficiência e a experiência do usuário. Semelhante ao throttling, mas ao contrário do throttling, que limita a frequência de operações contínuas, o debouncing espera por um período de inatividade antes de agir.

Dicas Avançadas de Depuração de Testes Unitários Zig: Combinando Depuração de Impressão e o Depurador

2025-08-07

Este artigo apresenta técnicas para aprimorar a depuração de testes unitários Zig, combinando depuração de impressão e o depurador. O autor primeiro aborda o problema da saída detalhada da depuração de impressão usando `errdefer` para imprimir apenas quando um teste falha, reduzindo a desordem. Em seguida, o script `build.zig` é usado para executar o depurador durante o processo de construção, simplificando a depuração de binários de teste. Finalmente, a compilação condicional, combinada com a opção de compilação `-Ddebugger`, permite habilitar breakpoints do depurador apenas quando necessário, evitando interferência do depurador durante execuções de teste normais. Essa abordagem melhora significativamente a eficiência da depuração de testes unitários Zig.

Desenvolvimento

Superando o CPython: Otimizando o Interpretador Plush para Fibonacci

2025-08-07
Superando o CPython: Otimizando o Interpretador Plush para Fibonacci

O autor detalha a jornada de otimização de seu interpretador Plush, uma linguagem de programação brinquedo, superando o CPython no microbenchmark de Fibonacci. As otimizações incluíram a fusão de instruções, a análise de perfil com a ferramenta Linux perf e a correção de código para eliminar pesquisas em hash. O resultado? Quase o dobro da velocidade no benchmark, mas surpreendentemente, nenhuma melhora de desempenho em seu programa de raytracing paralelo, destacando as limitações dos microbenchmarks.

Quebrando a Barreira de Ordenação: Novo Algoritmo Acelera a Busca pelo Caminho Mais Curto

2025-08-07
Quebrando a Barreira de Ordenação: Novo Algoritmo Acelera a Busca pelo Caminho Mais Curto

Por décadas, um problema clássico da ciência da computação — encontrar o caminho mais curto de um ponto de partida específico em uma rede para todos os outros pontos — foi limitado por uma 'barreira de ordenação'. Recentemente, Ran Duan e sua equipe da Universidade Tsinghua quebraram essa barreira, criando um novo algoritmo que supera todos os algoritmos baseados em ordenação em velocidade. O algoritmo usa inteligentemente estratégias de agrupamento e o algoritmo Bellman-Ford, evitando a ordenação ponto a ponto e alcançando melhorias significativas de desempenho, abrindo um novo capítulo na pesquisa de problemas de caminhos mais curtos.

comptime.ts: Computação em tempo de compilação para TypeScript

2025-08-07
comptime.ts: Computação em tempo de compilação para TypeScript

comptime.ts é um compilador TypeScript simples e eficiente projetado para avaliar expressões marcadas com `comptime` em tempo de compilação. Isso permite otimização de código, movendo cálculos do tempo de execução para o tempo de compilação. Suporta vários casos de uso, incluindo o cálculo de constantes, geração de conteúdo estático e otimização de código crítico para desempenho. A integração é simples por meio do Vite, Bun ou da CLI, aumentando a produtividade do desenvolvedor. No entanto, as expressões comptime devem ser serializáveis para JSON, e expressões complexas podem aumentar o tempo de compilação.

Uso excessivo do ChatGPT em Psicologia da Engenharia: Um pesadelo de projeto em grupo

2025-08-07

Um estudante de psicologia da engenharia relata sua frustração com colegas de grupo que dependem excessivamente do ChatGPT para um projeto de classe. Seus colegas de equipe colaram diretamente texto gerado por IA em sua proposta de projeto, resultando em conteúdo irrelevante e de baixa qualidade. Isso aumentou significativamente a carga de trabalho do estudante e o desmotivou. Embora reconhecendo os benefícios potenciais do uso do ChatGPT para inspiração, o estudante critica a adoção acrítica de conteúdo gerado por IA sem avaliação ou compreensão.

Desenvolvimento projeto em grupo

Herbie: Aumentando a Precisão de Ponto Flutuante

2025-08-07

O projeto Herbie visa melhorar a precisão dos cálculos de ponto flutuante. Ao longo de vários anos, o Herbie lançou várias versões, melhorando continuamente os algoritmos, aumentando a velocidade e adicionando recursos como uma interface de navegador e plugins para linguagens como Rust e Haskell. Recentemente, o Herbie obteve melhorias significativas de precisão no conjunto de testes de referência Hamming e adicionou uma nova API de plataforma para destinos de compilação plugáveis. A equipe do Herbie participa ativamente de pesquisas acadêmicas, publica artigos e realiza inúmeras palestras, compartilhando suas descobertas de pesquisa e planos futuros.

Desenvolvimento projeto Herbie

Além de Arrays Dinâmicos: O Eficiente e Estável Segment Array

2025-08-07
Além de Arrays Dinâmicos: O Eficiente e Estável Segment Array

Este artigo apresenta o Segment Array, uma estrutura de dados de alto desempenho que combina a flexibilidade de arrays dinâmicos, as vantagens de ponteiros estáveis e excelente compatibilidade com alocadores de arena. Ao contrário de arrays dinâmicos que movem elementos durante o redimensionamento, o Segment Array usa segmentos pré-alocados de tamanhos fixos, evitando fragmentação de memória e invalidação de ponteiros. Cada segmento tem o dobro do tamanho do seu predecessor, com novos segmentos alocados apenas quando necessário, atingindo complexidade de tempo média O(1). O autor fornece uma implementação em C e detalha seu funcionamento interno, incluindo o cálculo eficiente de índices e a integração com genéricos. O Segment Array é particularmente útil em cenários que exigem gerenciamento de memória dinâmica eficiente dentro de um alocador de arena, como em um perfil de compilação.

Desenvolvimento

Mergulho profundo no Tyr: Um driver de GPU Rust para Arm Mali CSF

2025-08-07
Mergulho profundo no Tyr: Um driver de GPU Rust para Arm Mali CSF

Esta publicação, a segunda de uma série, mergulha no desenvolvimento do Tyr, um driver de GPU Rust de ponta para o kernel do Linux que suporta GPUs baseadas em Arm Mali CSF. Usando o aplicativo VkCube (renderizando um cubo giratório via Vulkan) como um estudo de caso, ele explica a interação entre drivers de modo de usuário (UMDs) e drivers de modo de kernel (KMDs). O artigo fornece uma visão geral concisa da API do Tyr, comparando-a com o Panthor (o driver C para o mesmo hardware). As responsabilidades principais do KMD, como alocação de memória, envio de trabalhos e escalonamento de hardware, são destacadas. O artigo divide a API do Tyr em seções que cobrem informações do dispositivo, gerenciamento de memória, criação e gerenciamento de grupos, envio de trabalhos e gerenciamento de heap de ladrilhos.

Desenvolvimento

Jules, o Assistente de Código com Gemini 2.5, Lançado Publicamente

2025-08-07
Jules, o Assistente de Código com Gemini 2.5, Lançado Publicamente

O assistente de código do Google, Jules, saiu oficialmente da fase beta e está sendo lançado publicamente, com tecnologia Gemini 2.5. Durante o período beta, milhares de desenvolvedores realizaram dezenas de milhares de tarefas, resultando em mais de 140.000 melhorias de código compartilhadas publicamente. Com base no feedback dos desenvolvedores, o Jules recebeu melhorias na interface do usuário, correções de centenas de bugs e novos recursos, como configurações reutilizáveis para execução mais rápida de tarefas, integração com o GitHub e suporte multimodal. Agora, aproveitando os recursos avançados de raciocínio do Gemini 2.5 Pro para o planejamento de código, o Jules produz código de maior qualidade. Novo acesso em camadas também está disponível, oferecendo limites de uso maiores para assinantes do Google AI Pro e Ultra.

Desenvolvimento Assistente de Código

Litestar: Uma Framework Web Python Subestimada

2025-08-07

Litestar é uma framework web Python leve e assíncrona que escala excepcionalmente bem, mesmo em projetos grandes. Ao contrário de frameworks populares como FastAPI, o Litestar prioriza a escalabilidade do código, evitando problemas como importações circulares e simplificando o desenvolvimento de aplicativos multi-arquivo por meio de seu mecanismo exclusivo de decoradores de rota. Além disso, sua excelente integração com Pydantic, SQLAlchemy e a biblioteca Advanced Alchemy aumenta significativamente a produtividade do desenvolvedor, especialmente ao lidar com interações de banco de dados. Seus recursos de geração automática de DTO e repositório são incrivelmente convenientes. Em resumo, o Litestar é uma framework web Python digna de nota, particularmente adequada para desenvolvedores que valorizam código manutenível e escalável.

Desenvolvimento

arXivLabs: Projetos Experimentais com Colaboração da Comunidade

2025-08-07
arXivLabs: Projetos Experimentais com Colaboração da Comunidade

arXivLabs é uma estrutura que permite a colaboradores desenvolverem e compartilharem novos recursos do arXiv diretamente em nosso site. Indivíduos e organizações que trabalham com o arXivLabs abraçaram 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

Claude Code IDE para Emacs: Integração perfeita de IA para o seu fluxo de trabalho

2025-08-07
Claude Code IDE para Emacs: Integração perfeita de IA para o seu fluxo de trabalho

O Claude Code IDE para Emacs fornece integração nativa com o Claude Code CLI por meio do Protocolo de Contexto de Modelo (MCP). Mais do que apenas um wrapper de terminal, ele cria uma ponte bidirecional entre o Claude e o Emacs, permitindo que o Claude entenda e aproveite os recursos poderosos do Emacs - de LSP e gerenciamento de projetos a funções personalizadas Elisp. Isso transforma o Claude em um verdadeiro assistente de IA que conhece o Emacs, trabalhando dentro do seu fluxo de trabalho existente e interagindo com todo o ecossistema do Emacs. Recursos incluem detecção automática de projeto, gerenciamento de sessões, integração de terminal, ferramentas de operação de arquivos, integração de diagnósticos (Flycheck e Flymake), visualizações avançadas de diferenças e suporte a barra de abas. Por meio da integração de ferramentas MCP, o Claude acessa e utiliza as capacidades do Emacs, como integração LSP, análise de árvore de sintaxe Tree-sitter, navegação de símbolos Imenu e integração de projetos. Os desenvolvedores também podem criar ferramentas MCP personalizadas para expandir a funcionalidade do Claude.

Desenvolvimento

Baseten atinge desempenho SOTA no GPT-OSS-120B: Uma corrida contra o tempo

2025-08-07
Baseten atinge desempenho SOTA no GPT-OSS-120B: Uma corrida contra o tempo

Como parceiro de lançamento do novo LLM de código aberto da OpenAI, a Baseten se esforçou para otimizar o GPT-OSS-120B para o máximo desempenho no dia do lançamento. Eles aproveitaram sua pilha de inferência flexível, testando em TensorRT-LLM, vLLM e SGLang, com suporte para arquiteturas de GPU Hopper e Blackwell. Otimizações importantes incluíram roteamento com awareness de cache KV e decodificação especulativa com Eagle. Priorizando a latência, eles escolheram o paralelismo de tensor e utilizaram o backend MoE do TensorRT-LLM. A equipe rapidamente solucionou problemas de compatibilidade e refinou continuamente a configuração do modelo, contribuindo de volta para a comunidade de código aberto. Melhorias futuras incluirão decodificação especulativa para inferência ainda mais rápida.

Desenvolvimento Otimização de Inferência

Meu esconderijo secreto: Por que hesito em compartilhar meus dotfiles

2025-08-06
Meu esconderijo secreto: Por que hesito em compartilhar meus dotfiles

O autor ama dotfiles – arquivos de configuração para software e sistemas operacionais – e gosta de compartilhar ideias e código. No entanto, ele hesita em lançar publicamente seu próprio repositório extenso de dotfiles, que inclui configurações para zsh, tmux, neovim, vscode, uma lista de pacotes Homebrew, regras de CSS Stylus e é gerenciado com GNU Stow. Ele sente que suas personalizações são muito íntimas para compartilhar, apesar do fator legal. Isso levanta questões sobre o equilíbrio entre configurações de desenvolvedor personalizadas e compartilhamento de código aberto.

Desenvolvimento

Automerge 3.0: Redução de memória em 10x!

2025-08-06

O Automerge 3.0 chegou, com uma redução massiva no uso de memória - até 10x ou mais! Essa melhoria revolucionária, alcançada usando uma representação compactada em tempo de execução, resolve o inchaço de memória experimentado anteriormente com documentos com longos históricos. Por exemplo, processar Moby Dick passou de 700 MB para apenas 1,3 MB! Além disso, a atualização inclui limpeza da API, particularmente para manipulação de texto, resultando em desempenho e confiabilidade aprimorados. Os usuários existentes podem atualizar facilmente e os novos usuários são encorajados a experimentá-lo.

Desenvolvimento Edição colaborativa

Limitações da Aplicação de Sugestões de Código no GitHub

2025-08-06
Limitações da Aplicação de Sugestões de Código no GitHub

A aplicação em massa de sugestões de código durante a revisão de código do GitHub possui várias limitações. Essas incluem: nenhuma alteração de código feita, a solicitação de pull está fechada, visualização de um subconjunto de alterações, várias sugestões por linha, aplicação de sugestões em linhas excluídas, sugestões já aplicadas ou marcadas como resolvidas, sugestões de revisões pendentes, comentários de várias linhas e solicitações de pull na fila para mesclar ou sistema ocupado. Nessas situações, não é possível aplicar sugestões.

Desenvolvimento

Por trás do Ventoy: Construindo um criador de USB inicializável multiplataforma

2025-08-06
Por trás do Ventoy: Construindo um criador de USB inicializável multiplataforma

O Ventoy, uma ferramenta de código aberto para criar unidades USB multi-inicializáveis, envolve extensa compilação cruzada. Este trecho de código mostra uma parte do script de construção do Ventoy, cobrindo várias arquiteturas como x86, ARM64 e MIPS64, juntamente com a construção e integração de ferramentas como BusyBox, cryptsetup e FUSE. O processo requer o pré-download de algumas dependências e a configuração e compilação de acordo com diferentes arquiteturas e sistemas operacionais de destino. A saída final é uma imagem que suporta vários métodos de inicialização, tornando-a amigável para diversas plataformas de hardware.

Desenvolvimento

Desempenho do Python: Mitos, Realidades e o Projeto SPy

2025-08-06

Na EuroPython 2025, o engenheiro de desempenho do Python, Antonio Cuni, desmascarou equívocos comuns sobre a velocidade do Python. Ele argumentou que as limitações de desempenho do Python não provêm apenas de sua natureza interpretada, mas também da sobrecarga de gerenciamento de memória e recursos dinâmicos. Embora os compiladores JIT ajudem, Cuni acredita que eles não podem resolver completamente o problema. Ele apresentou o SPy, um projeto que visa melhorar o desempenho do Python sem sacrificar a compatibilidade, ajustando a semântica da linguagem. O SPy, disponível no GitHub, oferece problemas amigáveis para iniciantes para contribuição da comunidade.

Minha biblioteca de código aberto alimenta o Claude da Anthropic, e então fui rejeitado

2025-08-06
Minha biblioteca de código aberto alimenta o Claude da Anthropic, e então fui rejeitado

A biblioteca de código aberto do autor, enigo, uma biblioteca de simulação de entrada multiplataforma, é usada no software Claude Desktop da Anthropic. Isso é um ponto de orgulho para o autor, destacando a eficiência e segurança do enigo. No entanto, a candidatura do autor à Anthropic foi rejeitada, criando um momento agridoce. O artigo detalha essa reviravolta inesperada e as reflexões do autor sobre contribuições de código aberto, IA e caminhos de carreira.

Desenvolvimento

Layouts CSS: Uma Análise Crítica

2025-08-06

Este artigo apresenta uma análise crítica dos mecanismos de layout CSS. O autor argumenta que o CSS confunde o estilo de texto rico e o sistema de layout, levando a uma herança inconsistente — os estilos de texto herdam, mas as propriedades de layout não. Os modelos inline-block e inline-flex aninhados exemplificam esse conflito: internamente são bloco ou flex, externamente são inline. O autor propõe que um sistema de layout ideal decomporia o comportamento em facetas independentes, oferecendo uma API mais flexível e intuitiva do que a atual, subtractiva, com dicas extras de barreiras de contenção. Finalmente, o artigo aborda as limitações da escala em relativa e as melhorias no tratamento de pixels.

Desenvolvimento

Agentes Autônomos: Transformando Cada Engenheiro em um Gerente de Engenharia

2025-08-06

As ferramentas de desenvolvimento evoluíram rapidamente, de preenchimento automático a copilots e agora agentes autônomos. Este artigo explora como trabalhar eficazmente com esses agentes para aumentar a eficiência do desenvolvimento. As principais informações compartilhadas incluem definir tarefas claramente, fornecer contexto suficiente, alavancar o CI/CD para loops de feedback e entender as limitações desses agentes. Embora não seja uma solução mágica, os agentes autônomos podem economizar tempo significativamente, liberando os engenheiros de tarefas tediosas e permitindo que eles se concentrem em trabalhos mais criativos.

Desenvolvimento

Stagewise: O agente de codificação de IA para código frontend de produção

2025-08-06
Stagewise: O agente de codificação de IA para código frontend de produção

Stagewise é um agente de codificação de IA projetado para bases de código frontend de produção. Ele elimina a necessidade de colar manualmente informações de elementos e caminhos de pastas em prompts, utilizando o contexto do navegador em tempo real. Basta clicar no elemento que deseja alterar, dizer ao Stagewise o que deseja fazer e ele cuida da modificação do código. Stagewise suporta vários frameworks, permite extensão personalizada por meio de plugins, é de código aberto e é compatível com vários agentes de IA, como o GitHub Copilot.

Desenvolvimento código de produção

IA não torna os engenheiros 10 vezes mais produtivos (Desmascarando o mito)

2025-08-06

Este artigo desmascara a afirmação generalizada de que a IA aumenta a produtividade do engenheiro em 10 vezes ou até 100 vezes. O autor, após experimentar várias ferramentas de codificação de IA, descobriu que, embora a IA se destaque em código padrão, ela luta com projetos complexos, grandes bases de código e bibliotecas menos populares, muitas vezes introduzindo vulnerabilidades de segurança. O autor argumenta que os aumentos de produtividade da IA são incrementais e não escalam linearmente. Os verdadeiros ganhos de produtividade derivam da prevenção de trabalho desnecessário, não apenas da codificação mais rápida. O autor conclui que as alegações de ganhos de produtividade de 10 vezes impulsionados pela IA provavelmente são impulsionadas por mal-entendidos, interesses diretos ou pressão administrativa, instando os engenheiros a não se sentirem ansiosos devido a tais alegações infladas.

Desenvolvimento
1 2 15 16 17 19 21 22 23 200 201