Category: 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

PNGs mais rápidos: Explorando Zstandard e LZ4 como alternativas

2025-08-06
PNGs mais rápidos: Explorando Zstandard e LZ4 como alternativas

Tempos lentos de leitura e gravação são um problema conhecido com PNGs. Esta publicação sugere o uso de codecs mais novos, de código aberto e sem patentes, como Zstandard (do Facebook) ou LZ4 como solução. O Zstandard já é usado no formato de textura de GPU Khronos KTX2, oferecendo melhorias significativas de velocidade. O autor também menciona codecs ainda mais rápidos e simples, como o QOI, mas esses podem exigir alterações no pré-processamento de imagens.

Desenvolvimento

Identificando JSON, certificados e chaves privadas codificados em Base64 a olho nu

2025-08-06
Identificando JSON, certificados e chaves privadas codificados em Base64 a olho nu

Um desenvolvedor, examinando um arquivo supostamente criptografado para um commit seguro no Github, descobriu uma string JSON codificada em Base64 dentro dele. Um colega apontou este padrão. Surpreendentemente, eles descobriram que certificados e chaves privadas codificados em Base64 também possuem características semelhantes facilmente detectáveis, como certificados muitas vezes começando com "LS". Essa dica simples ajuda os desenvolvedores a identificar rapidamente informações sensíveis e evitar acidentalmente o commit de segredos, como chaves, para repositórios públicos.

Desenvolvimento

Podridão de Software: É o software ou o ambiente?

2025-08-06

A podridão de software é geralmente atribuída à degradação do software devido a um ambiente em mudança. Um programa de uma década atrás pode não funcionar com bibliotecas mais novas devido à incompatibilidade. Uma abordagem melhor concentra-se na confiabilidade das dependências do software. Construir em plataformas estáveis como DOS ou NES, com especificações estáticas, evita a manutenção constante. Inversamente, software construído para plataformas em constante evolução como o Linux pode deixar de funcionar após uma década ou duas, exigindo extensa arqueologia de mídia para restaurar.

Construa seu próprio Lisp em 1000 linhas de código C

2025-08-05

Aprenda C e crie seu próprio interpretador Lisp em apenas 1000 linhas de código! Este livro o guiará pelo processo, ensinando programação em C, as intrincasidades do Lisp e como escrever código conciso e elegante. Disponível gratuitamente online ou para compra em formatos impressos e de e-book.

Desenvolvimento

Clojure Civitas: Um Espaço Compartilhado para Ideias Clojure

2025-08-05
Clojure Civitas: Um Espaço Compartilhado para Ideias Clojure

O Clojure Civitas simplifica a publicação de projetos Clojure. Sem precisar configurar novos projetos, blogs ou repositórios, basta fazer um fork deste repositório, criar um namespace, codificar, confirmar e enviar um pull request para compartilhar suas explorações e ideias. Ele suporta vários formatos de saída, incluindo comentários, gráficos, Markdown e Hiccup, facilitando a documentação de experimentos, o compartilhamento de descobertas e a construção de uma base de conhecimento. A plataforma incentiva contribuições da comunidade e fornece ferramentas de visualização e compartilhamento fácil, tornando sua jornada Clojure mais suave e eficiente.

Linguagens de Programação: Escolhendo a Ferramenta Certa para o Trabalho

2025-08-05
Linguagens de Programação: Escolhendo a Ferramenta Certa para o Trabalho

Linguagens de programação, como meios artísticos, influenciam sutilmente o estilo de codificação. Os opcionais do Swift encorajam o tratamento cuidadoso de erros, enquanto o verificador de empréstimo do Rust promove o tratamento abrangente de erros. Isso é benéfico para sistemas de produção, mas pode ser complicado para scripts ou protótipos. O autor sugere escolher um estilo de codificação com base no propósito e na vida útil do código; para prototipagem rápida, a flexibilidade é preferível à adesão estrita às melhores práticas. O artigo usa a analogia do desenho a carvão e a lápis para destacar a importância de combinar a escolha da linguagem de programação e o estilo de codificação às necessidades do projeto. A chave é a intencionalidade.

Desenvolvimento

DrawAFish.com: Um desastre de segurança causado por erros bobos

2025-08-05
DrawAFish.com: Um desastre de segurança causado por erros bobos

DrawAFish.com, um site que brevemente atingiu o topo do Hacker News, experimentou um desastre de segurança devido a uma série de erros amadores. Uma senha de administrador de seis dígitos desatualizada exposta em um vazamento de dados anterior, uma API de atualização de nome de usuário não autenticada e um JWT não vinculado a um usuário específico permitiram que atores maliciosos vandalizassem o site em poucas horas. Os nomes de usuário foram alterados para insultos e imagens de peixes foram substituídas. O autor resolveu o problema restaurando de backups e corrigindo vulnerabilidades, refletindo sobre o equilíbrio entre desenvolvimento rápido e segurança.

Desenvolvimento desenvolvimento rápido

O Operador Pipe do PHP 8.5: Uma Década em Desenvolvimento, Evolução de Código Elegante

2025-08-05
O Operador Pipe do PHP 8.5: Uma Década em Desenvolvimento, Evolução de Código Elegante

O PHP 8.5 trará um recurso aguardado há muito tempo: o operador pipe (|>). Este recurso, embora aparentemente simples, é poderoso, encadeando chamadas de funções, simplificando o código e melhorando a legibilidade, semelhante aos pipes do Unix. Após anos de desenvolvimento e várias iterações, desde suas origens na linguagem Hack até sua implementação final, ele incorpora conceitos de programação funcional, permitindo chamadas em cadeia e brilhando em contextos como instruções match. Melhorias futuras no PHP incluem a exploração de aplicação parcial de funções e operadores de composição de funções, aumentando ainda mais a eficiência e a expressividade do código.

Desenvolvimento Operador Pipe

Problema dos Generais Bizantinos: Uma Implementação Prática

2025-08-05
Problema dos Generais Bizantinos: Uma Implementação Prática

Este artigo implementa um algoritmo distribuído clássico: o Problema dos Generais Bizantinos. Este problema simula um cenário em que um grupo de generais precisa chegar a um consenso na presença de traidores. O autor implementa a solução de mensagens orais de Lamport usando Python e Flask, demonstrando como o consenso pode ser alcançado em um sistema com N nós e até M traidores, quando N≥3M+1. O artigo detalha o fluxo do algoritmo, os caminhos das mensagens e as estratégias de tratamento de traidores. Analisa a complexidade e as limitações, implementando finalmente um sistema funcional para validar a correção teórica. O autor também observa as dificuldades encontradas ao usar LLMs para implementar o algoritmo.

Testes de Simulação Determinística em Rust: Uma Abordagem de Máquina de Estados

2025-08-05
Testes de Simulação Determinística em Rust: Uma Abordagem de Máquina de Estados

A equipe Polar Signals compartilha sua experiência na construção de um novo banco de dados Rust com uma arquitetura de máquina de estados que coloca os testes de simulação determinística (DST) em primeiro plano. Diferentemente de seu banco de dados Go anterior, FrostDB, o novo banco de dados evita controlar o planejador existente e, em vez disso, usa um modelo de máquina de estados em que todos os componentes principais são escritos como máquinas de estados de thread único que se comunicam por meio de um barramento de mensagens. Essa abordagem fornece controle completo sobre concorrência, tempo, aleatoriedade e injeção de falhas, simplificando bastante a implementação do DST e descobrindo dois bugs críticos. Embora essa abordagem exija sobrecarga cognitiva extra, ela resulta em um raciocínio mais preciso sobre o comportamento do sistema e código mais confiável.

Transformação do Tmux: De Patinho Feio a Cisne

2025-08-05
Transformação do Tmux: De Patinho Feio a Cisne

Este artigo detalha a jornada do autor na personalização do tmux. Inicialmente sobrecarregado pela interface do usuário padrão, ele cuidadosamente elaborou um ambiente de terminal visualmente atraente e eficiente, modificando o arquivo `.tmux.conf` e utilizando um gerenciador de plug-ins. O guia cobre o remapeio de teclas, ajustes do buffer de rolagem, estilo de tema e gerenciamento de plug-ins, culminando em um arquivo de configuração completo para aprimorar sua experiência com o tmux.

Unikernels: Sua Vila de Aplicativos Privada

2025-08-05
Unikernels: Sua Vila de Aplicativos Privada

Já imaginou um ambiente de aplicativo só para você, como uma villa particular em uma ilha isolada? Unikernels oferecem exatamente isso - máquinas virtuais compactas para um único aplicativo, aumentando a velocidade, eficiência e segurança. Este artigo mergulha no que são unikernels, explora diferentes tipos (com foco em Nanos), detalha seus benefícios e limitações e fornece um guia passo a passo para implantar um aplicativo Nanos simples na AWS. Embora o desenvolvimento de unikernel apresente algumas complexidades e o ecossistema ainda esteja crescendo, sua natureza leve e vantagens de desempenho os tornam muito promissores para microsserviços e outros cenários com recursos limitados.

Desenvolvimento

A Transformação Schwartziana: Uma Epopeia da Programação

2025-08-05
A Transformação Schwartziana: Uma Epopeia da Programação

Este artigo narra a fascinante história da Transformação Schwartziana. Ela começou em 1994 com um código conciso de Randal Schwartz no Usenet, projetado para otimizar algoritmos de classificação. Este código tornou-se lendário por sua elegância e pelo impacto que teve nos programadores Perl na época, gerando debates sobre legibilidade de código, programação funcional e a natureza da própria linguagem Perl. Embora inicialmente não nomeada por Schwartz, a técnica acabou recebendo seu sobrenome, aparecendo em numerosos livros de Perl e se estabelecendo como um algoritmo clássico. O artigo também explora variações, como a Manobra Orcish de Joseph Hall, e sua aplicação em diversas linguagens de programação.

Desenvolvimento

Desenhos 3D realistas a partir de Splats Gaussianos 3D

2025-08-05

Esta publicação detalha um método para criar desenhos 3D realistas, aumentando o processo de splatting gaussiano 3D. O autor combina a técnica de splatting gaussiano 3D de Kerbl et al. com um método para transformar fotografias em desenhos informativos de Chan et al. Ao trocar os desenhos de linha gerados pelas imagens originais e treinar por 21.000 iterações em uma Nvidia RTX 4080S, o autor obtém vários estilos (contorno, anime, etc.) de renderização de desenho de linha 3D. Experimentos exploram a mistura de informações de cor, a junção de cenas e a segmentação de imagens para melhorar o efeito e criar resultados visuais diversos. Os resultados mostram que este método gera desenhos 3D realistas e detalhados, mas as cenas de desenho de linha são aproximadamente o dobro do tamanho de suas cenas originais.

Desenvolvimento

Carbon: Um Sistema Operacional de Código Aberto para Manufatura – Desafiando o Status Quo do ERP

2025-08-05
Carbon: Um Sistema Operacional de Código Aberto para Manufatura – Desafiando o Status Quo do ERP

Carbon é um sistema operacional de código aberto para manufatura, projetado para resolver as deficiências dos sistemas ERP existentes: falta de ferramentas modernas, travamento de fornecedores e ausência de uma solução 'universal'. Ele possui uma arquitetura priorizando APIs, permitindo que os usuários expandam a plataforma por meio do desenvolvimento de aplicativos personalizados com blocos de construção e ferramentas prontamente disponíveis. Construído usando Turborepo para gerenciamento eficiente de monorepo, o Carbon integra-se a serviços como Supabase, Redis e Stripe. A instalação e implantação são otimizadas por meio de instruções de linha de comando, e o código de exemplo facilita a rápida integração.

Desenvolvimento
1 2 13 14 15 17 19 20 21 198 199