Category: Desenvolvimento

KVSplit: Quantização Diferenciada de Cache KV para Apple Silicon

2025-05-16
KVSplit: Quantização Diferenciada de Cache KV para Apple Silicon

O KVSplit otimiza LLMs em Apple Silicon aplicando precisão de quantização diferente para chaves em comparação com valores no cache KV do mecanismo de atenção. Isso permite uma redução significativa de memória (até 72%) com perda mínima de qualidade. A configuração K8V4 (chaves de 8 bits, valores de 4 bits) oferece o melhor equilíbrio, alcançando uma redução de memória de 59% com apenas um aumento de perplexidade de 0,86% e inferência mais rápida. O KVSplit inclui um instalador fácil e um conjunto abrangente de testes de referência para avaliar diferentes configurações, permitindo janelas de contexto mais longas e modelos maiores em dispositivos Apple.

Desenvolvimento

Otimização de Inserção PostgreSQL: De 2k para 92k Inserções por Segundo

2025-05-16

A equipe Hatchet conseguiu um aumento de 31 vezes na velocidade de inserções no PostgreSQL, passando de 2.000 para 92.000 inserções por segundo. As otimizações-chave incluíram pool de conexões, inserções em lote e o comando COPY. Eles descobriram que mais conexões nem sempre são melhores, sendo necessário encontrar um equilíbrio ideal. Inserções em lote aumentaram dramaticamente a taxa de transferência, mas também adicionaram latência, exigindo ajuste do tamanho do lote e dos intervalos de limpeza. O comando COPY se mostrou significativamente mais eficiente quando não era necessário o retorno de dados. O artigo sugere técnicas de otimização avançadas, como inserções transacionais em várias tabelas e o uso do UNNEST, prometendo um mergulho mais profundo em um post futuro.

Desenvolvimento Inserções em lote

Workflow Use: Automação sem código para fluxos de trabalho determinísticos

2025-05-16
Workflow Use: Automação sem código para fluxos de trabalho determinísticos

Workflow Use é um projeto revolucionário que visa criar fluxos de trabalho determinísticos e autocorretivos gravando interações do navegador. Os usuários simplesmente mostram o fluxo de trabalho ao gravador, e o sistema gera automaticamente scripts de automação reutilizáveis. Atualmente em desenvolvimento inicial, o projeto visa permitir que os computadores aprendam tarefas uma vez e as executem indefinidamente sem intervenção humana. Planos futuros incluem melhorar o fallback do LLM, implementar autocorreção e integrar com outras ferramentas.

Desenvolvimento

Pare de construir wrappers GPT. Construa um modelo de mundo em vez disso.

2025-05-16
Pare de construir wrappers GPT. Construa um modelo de mundo em vez disso.

A Foundry está construindo infraestrutura central para agentes de navegador, não wrappers GPT. Eles argumentam que todos os aplicativos SaaS e ferramentas empresariais sem uma API em breve serão automatizados por agentes de navegador, mas a tecnologia atual de agentes de navegador está em sua infância. A Foundry visa construir simulações web determinísticas e hiper-realistas, uma estrutura de anotação abrangente, benchmarks confiáveis e ambientes de treinamento RL robustos para melhorar a confiabilidade e a eficiência dos agentes de navegador. Eles estão procurando um engenheiro de software sênior para construir sistemas de ML centrais e infraestrutura de RL do zero.

arXivLabs: Colaboração da Comunidade em Recursos do arXiv

2025-05-16
arXivLabs: Colaboração da Comunidade em Recursos do arXiv

arXivLabs é uma estrutura que permite a colaboradores desenvolverem e compartilharem novos recursos do arXiv diretamente no site. Indivíduos e organizações envolvidos compartilham os valores do arXiv 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 beneficiará a comunidade do arXiv? Saiba mais sobre o arXivLabs.

Desenvolvimento

LPython: Um compilador Python para código de máquina

2025-05-16

LPython é um compilador Python que compila código Python com anotações de tipo para código de máquina otimizado, com suporte para backends como LLVM, C, C++, WASM, Julia e x86. Os benchmarks demonstram sua velocidade tanto na compilação quanto em tempo de execução. Ele oferece compilação Just-In-Time (JIT) e interoperabilidade perfeita com CPython. Uma versão alfa está disponível, com relatórios de bugs encorajados.

rv: Uma maneira reprodutível, rápida e declarativa de gerenciar pacotes R

2025-05-16
rv: Uma maneira reprodutível, rápida e declarativa de gerenciar pacotes R

rv é um gerenciador de pacotes R revolucionário que permite gerenciar e instalar pacotes R de forma reprodutível, rápida e declarativa. Ao especificar a versão do R, repositórios e dependências em um arquivo de configuração (rproject.toml), o comando `rv sync` sincroniza a biblioteca, o arquivo de configuração e o arquivo de bloqueio, enquanto o comando `rv plan` fornece uma prévia. Ele suporta configurações personalizadas de pacotes e repositórios, permitindo a instalação de pacotes específicos e seus pacotes sugeridos. rv é escrito em Rust e vem com documentação detalhada de instalação e uso.

Desenvolvimento gerenciamento de pacotes R

Mensagens de erro do compilador Rust: Uma década de evolução

2025-05-16

Este artigo explora a evolução das mensagens de erro do compilador Rust na última década. Ao analisar as saídas de erro de várias versões estáveis do Rust, a partir da 1.0, o autor mostra melhorias significativas na clareza, legibilidade e experiência do usuário. Marcos importantes incluem a introdução de códigos de erro numéricos na versão 1.2.0 e mensagens de erro coloridas com a dica `rustc --explain` na versão 1.26.0. O autor destaca o esforço contínuo de centenas de contribuidores, demonstrando a dedicação aos detalhes e a melhoria iterativa na comunidade Rust. Pequenas inconsistências divertidas entre as versões também são notadas, sublinhando o elemento humano neste extenso empreendimento.

Desenvolvimento Mensagens de erro

Estratégias de Cache para Sites de Alto Desempenho e Baixo Custo

2025-05-16
Estratégias de Cache para Sites de Alto Desempenho e Baixo Custo

Este artigo descreve as técnicas de cache usadas nos sites do autor, jasonthorsness.com e hn.unlurker.com. Abordagens diferentes são apresentadas para vários tipos de sites: sites principalmente estáticos utilizam hash de conteúdo, CDNs e cache do lado do cliente; sites dinâmicos orientados a dados combinam cabeçalhos de controle de cache de curto prazo, cache de memória de back-end, instância única e cache em disco; e para sites autenticados, o autor sugere priorizar componentes não específicos do usuário e aproveitar o cache colaborativo entre o navegador e o servidor. Por meio de estratégias de cache inteligentes, o autor alcança alto desempenho com custo mínimo, mantendo a estabilidade mesmo sob tráfego intenso.

Desenvolvimento

Erlang-RED: Reescrevendo o backend do Node-RED em Erlang

2025-05-16
Erlang-RED: Reescrevendo o backend do Node-RED em Erlang

Este projeto é uma experiência para substituir o backend Node.js existente do Node-RED por um equivalente em Erlang. O objetivo é aproveitar as vantagens da concorrência inerente do Erlang para aumentar o desempenho do Node-RED. Uma parte significativa dos nós do Node-RED já foi implementada, com um sistema de teste baseado em fluxo que garante a funcionalidade. O desenvolvimento é orientado a fluxo, separando os fluxos de teste e o código para melhor manutenção e integração.

Desenvolvimento

Java faz 30 anos! Uma conversa com James Gosling

2025-05-16
Java faz 30 anos! Uma conversa com James Gosling

A linguagem de programação Java completa 30 anos! Este artigo celebra o legado da linguagem e mergulha na fascinante vida de seu criador, James Gosling. De um adolescente canadense criativo construindo computadores com peças recuperadas a um programador pioneiro na Sun Microsystems, a jornada de Gosling está repleta de anedotas. Ele relembra as lendárias pegadinhas de 1º de abril na Sun, refletindo sobre a evolução do Java e seu ceticismo atual em relação à revolução exagerada da IA. Gosling enfatiza a importância contínua das habilidades de programação e a relevância duradoura do Java em uma paisagem tecnológica em rápida mudança.

Desenvolvimento

Construindo MVPs: Velocidade, Foco e Evitando Armadilhas Comuns

2025-05-16
Construindo MVPs: Velocidade, Foco e Evitando Armadilhas Comuns

Este artigo explica como construir eficientemente um Produto Mínimo Viável (MVP). Um MVP não se trata de trabalho de má qualidade; é uma versão simplificada do seu produto principal, projetada para a validação rápida de premissas e necessidades do usuário. O artigo destaca erros comuns a serem evitados, como excesso de recursos, escolhas erradas de tecnologia e negligência da qualidade do código. Ao focar em problemas principais, escolher a pilha de tecnologia certa e priorizar a qualidade e segurança do código, você pode mitigar riscos, acelerar a iteração e, finalmente, alcançar o sucesso do produto.

Desenvolvimento

SQL-tString: Construção Segura de Consultas SQL em Python

2025-05-16
SQL-tString: Construção Segura de Consultas SQL em Python

SQL-tString é uma biblioteca Python robusta que permite a construção de consultas SQL usando t-strings (semelhante às f-strings), prevenindo vulnerabilidades de injeção de SQL. Suporta consultas parametrizadas, lida com parâmetros opcionais e condições de valores NULL, e se adapta de forma flexível a diferentes dialetos de banco de dados (suporta os estilos de parâmetros qmark e $). Também é compatível com versões anteriores do Python 3.12 e 3.13.

Jetrelay: Servidor Pub/Sub altamente eficiente usando recursos do kernel Linux

2025-05-16

O Jetrelay, um servidor Pub/Sub compatível com o jetstream do Bluesky, alcança eficiência impressionante com apenas 500 linhas de código. Ao utilizar inteligentemente recursos do kernel Linux como `sendfile()`, `io_uring` e `fallocate()`, o Jetrelay transmite dados e gerencia armazenamento persistente com mínima sobrecarga no espaço do usuário. Isso permite que ele sature uma conexão de rede de 10 Gbps usando apenas 8 núcleos de CPU. O design evita cópias de dados desnecessárias e usa E/S assíncrona para lidar com milhares de conexões de clientes simultâneas de forma eficaz.

Desenvolvimento

Dez anos de abuso de teste: uma saga hilária de código aberto

2025-05-16
Dez anos de abuso de teste: uma saga hilária de código aberto

Uma empresa semi-governamental com US$ 130 milhões em receita anual depende muito de uma plataforma de código aberto, Xen Orchestra, para sua infraestrutura de TI. Surpreendentemente, por uma década, eles abusaram do período de teste de 30 dias da plataforma, registrando pelo menos 60 contas - de e-mails corporativos a e-mails pessoais, inclusive numerando-as incrementalmente ([email protected], [email protected]...). Apesar da disponibilidade de uma versão gratuita de código aberto, eles persistem em usar a versão de teste, recusando suporte pago. Isso levanta preocupações na comunidade de código aberto sobre os mecanismos de teste e a sustentabilidade dos projetos de código aberto.

Extraindo MRR de Dados do Stripe: Armadilhas e Implementação em SQL

2025-05-16
Extraindo MRR de Dados do Stripe: Armadilhas e Implementação em SQL

Este artigo detalha como extrair dados da API do Stripe e calcular a Receita Mensal Recorrente (MRR). O autor destaca a não confiabilidade do uso direto do objeto `subscriptions` do Stripe, pois ele contém apenas o estado mais recente da assinatura. A abordagem correta utiliza os `itens da fatura`, tratando descontos, ciclos de faturamento variados (mensal, trimestral, anual) e muito mais. O artigo fornece código SQL detalhado, cobrindo a limpeza de dados, normalização de ciclos e os cálculos finais das métricas de MRR, incluindo novo MRR, MRR de churn, MRR de expansão e MRR de reativação. O artigo enfatiza a adaptabilidade e personalização do método e recomenda um aplicativo para simplificar os cálculos de MRR.

Desenvolvimento cálculo de MRR API do Stripe

Problema de Conformidade com a Licença MIT do Ollama

2025-05-16
Problema de Conformidade com a Licença MIT do Ollama

O Ollama, um cliente de modelo de linguagem grande de código aberto baseado em llama.cpp, está enfrentando um problema de conformidade de licença. O usuário relata que o aviso de direitos autorais para llama.cpp, exigido pela licença MIT, está faltando nas distribuições binárias do Ollama. Isso exige a adição das informações de direitos autorais apropriadas aos binários para garantir a conformidade com a licença MIT.

Desenvolvimento licença MIT

Codificação com IA: Uma Espada de Dois Gumes?

2025-05-16

O autor tentou reconstruir o backend do seu SaaS usando IA (Claude, Cursor), inicialmente com progresso suave. No entanto, logo encontrou problemas. O código gerado pela IA carecia de consistência e manutenibilidade, forçando uma reescrita manual. O autor reflete sobre as armadilhas da dependência excessiva da IA, incluindo a diminuição das habilidades de codificação e resolução de problemas. Ele defende a cautela, sugerindo que a IA deve ser uma ferramenta suplementar, não uma substituição completa.

Desenvolvimento

Build sem GIL do CPython 3.14: Desbloqueando o poder multicore

2025-05-16
Build sem GIL do CPython 3.14: Desbloqueando o poder multicore

O lançamento do CPython 3.14.0b1 representa um passo significativo em direção a um Python com threads livres, removendo o Global Interpreter Lock (GIL). A Quansight desempenhou um papel crucial, permitindo o uso experimental da versão sem GIL em fluxos de trabalho de produção reais com dependências complexas. A remoção do GIL desbloqueia toda a potência de cálculo de CPUs e GPUs multicore, resolvendo as limitações históricas do Python em computação paralela. Isso requer extensas auditorias de segurança de threads em pacotes existentes para corrigir corridas de dados. A Quansight, em colaboração com o Meta, adaptou inúmeras bibliotecas principais (NumPy, Pandas, etc.) e melhorou o próprio CPython para segurança de threads. Ainda existem desafios, mas a versão sem GIL representa o futuro do Python, prometendo melhorias drásticas de desempenho.

Desenvolvimento

Logitloom: Visualizando a geração de LLMs com árvores de trajetória de tokens

2025-05-16
Logitloom: Visualizando a geração de LLMs com árvores de trajetória de tokens

Logitloom é uma ferramenta para visualizar o processo de geração de modelos de linguagem grandes (LLMs) criando 'árvores de trajetória de tokens' (looming). Suporta modelos como Deepseek-v3 e o 405-base do Hyperbolic, exigindo que os usuários forneçam chaves de API. O Logitloom ajuda os desenvolvedores a entender melhor os mecanismos internos de LLM e atualmente não possui licença.

Desenvolvimento Análise de Modelo

Conceitos errôneos sobre DDD na Front-end: Não se trata de fazer DDD *em* Angular

2025-05-16
Conceitos errôneos sobre DDD na Front-end: Não se trata de fazer DDD *em* Angular

Este artigo desmascara conceitos errôneos comuns sobre Design Orientado a Domínio (DDD) entre desenvolvedores front-end. Muitos confundem DDD com a modularidade ou ferramentas do Angular, ignorando o cerne do DDD: entender o negócio e projetar o sistema a partir das necessidades do negócio. O autor argumenta que o DDD é uma disciplina em todo o produto, não apenas específica do front-end; o front-end é apenas uma parte dele. O artigo diferencia entre DDD estratégico e tático, enfatiza a importância do DDD estratégico, explica conceitos-chave como contextos delimitados e eventos de domínio, e conclui que o valor do DDD reside em cenários de negócios complexos, enquanto aplicá-lo cegamente pode ser prejudicial.

Desenvolvimento

Wasmer Contrata: Engenheiro de Compilador para Moldar o Futuro da Computação em Nuvem com WebAssembly

2025-05-16
Wasmer Contrata: Engenheiro de Compilador para Moldar o Futuro da Computação em Nuvem com WebAssembly

A Wasmer está procurando um engenheiro de compilador qualificado para se juntar à sua equipe que está construindo a próxima geração de plataformas de computação em nuvem alimentadas por WebAssembly. O candidato ideal terá fortes habilidades em Rust ou C/C++, um profundo conhecimento de desenvolvimento de compiladores e excelentes habilidades de comunicação e trabalho em equipe. A Wasmer está comprometida com o código aberto e oferece salários competitivos, opções de ações e arranjos de trabalho flexíveis. Esta é uma oportunidade única para causar um impacto significativo no futuro da computação em nuvem dentro de uma startup dinâmica e focada em código aberto.

Desenvolvimento

Expansão do Ecossistema OpenHarmony: Propostas de Adaptação de Bibliotecas Aumentam

2025-05-16
Expansão do Ecossistema OpenHarmony: Propostas de Adaptação de Bibliotecas Aumentam

A comunidade do sistema operacional de código aberto OpenHarmony testemunhou recentemente um aumento nas propostas de adaptação de várias bibliotecas de terceiros, incluindo pako, snappyjs, brotli, hi-base32, is-png e EventBus. Essas propostas visam integrar essas bibliotecas ao OpenHarmony, aprimorando sua funcionalidade e desempenho. Elas incluem demonstrações do HarmonyOS e adesão às especificações OHPM. Isso demonstra o crescimento contínuo e a expansão do ecossistema OpenHarmony, atraindo cada vez mais desenvolvedores.

Desenvolvimento Adaptação de Bibliotecas

In Memoriam: Michael Ryabushkin, Campeão da Comunidade SoCal Python

2025-05-16
In Memoriam: Michael Ryabushkin, Campeão da Comunidade SoCal Python

Michael Ryabushkin, uma pedra angular da comunidade SoCal Python, faleceu em maio de 2025. Homenagens foram prestadas, lembrando suas imensas contribuições para a comunidade e sua afeição e generosidade como mentor, amigo e colega. Ele organizou inúmeros eventos Python, ajudou vários desenvolvedores a encontrar empregos e carreiras e até mesmo ofereceu apoio altruísta nos momentos mais difíceis dos outros. Sua paixão, humor e dedicação altruísta serão profundamente sentidas.

Desenvolvimento

Navegador Dia: O navegador nativo de IA ambicioso enfrenta desafios

2025-05-16
Navegador Dia: O navegador nativo de IA ambicioso enfrenta desafios

Após o modo de manutenção de seu navegador Arc, a The Browser Company (BCNY) lançou o Dia, um navegador nativo de IA. O Dia possui uma interface de bate-papo na barra lateral alimentada pelo GPT 4.1 e distingue inteligentemente os tipos de pesquisa. No entanto, sua barra lateral ocupa muito espaço, afetando a experiência do usuário; além disso, alguns recursos ainda estão subdesenvolvidos. Embora o Dia se destaque no bloqueio de anúncios, a BCNY enfrenta desafios para se destacar no competitivo mercado de navegadores.

Desenvolvimento Navegador de IA

Estruturas de Dados Sem Travas: Um Ato de Equilíbrio entre Desempenho e Risco

2025-05-16

Este artigo mergulha na implementação de um array sem travas, `LockFreeArray`, em Rust. Ele utiliza operações atômicas e uma lista livre para alcançar inserção e recuperação sem travas em vários threads, eliminando a sobrecarga de desempenho de travas. O artigo explica detalhadamente `AtomicPtr`, `AtomicUsize`, `compare_exchange` e o papel crucial da ordenação de memória. Benchmarks demonstram uma vantagem significativa de desempenho em relação a `Mutex>>` (83,19% mais rápido em média). No entanto, o artigo destaca os perigos inerentes à programação sem travas, exigindo um profundo entendimento de modelos de memória e operações atômicas para evitar corridas de dados e vazamentos de memória.

Desenvolvimento sem travas

I Dropped My Phone The Screen Cracked: Uma Biblioteca Web Audio para Programação de Áudio Simplificada

2025-05-16
I Dropped My Phone The Screen Cracked: Uma Biblioteca Web Audio para Programação de Áudio Simplificada

I Dropped My Phone The Screen Cracked é uma biblioteca Web Audio inovadora que simplifica a criação, configuração e conexão de nós de áudio no navegador usando encadeamento de métodos e seletores no estilo CSS. Suporta definições de macros e criação de plugins, tornando a programação de áudio tão intuitiva quanto conectar um sintetizador modular, permitindo processamento de áudio complexo de forma concisa e expressiva. Os desenvolvedores podem criar e conectar nós de áudio facilmente por meio de encadeamento de métodos, manipulá-los com seletores e usar macros para encapsular cadeias de nós em unidades reutilizáveis, melhorando a legibilidade e a manutenção do código.

Desenvolvimento Programação de Áudio

Tratamento de Erros Elegante no Puppeteer com Relatórios Buglestack

2025-05-16
Tratamento de Erros Elegante no Puppeteer com Relatórios Buglestack

Este trecho de código demonstra como usar o Puppeteer para raspar resultados de pesquisa do Google e lidar com erros potenciais de forma elegante. Ao encontrar um erro, o código captura detalhes do erro, incluindo a URL, uma captura de tela, o conteúdo HTML, os metadados e a pilha de erros, e envia essas informações para o Buglestack para relatórios de erros. Isso permite que os desenvolvedores identifiquem e corrijam problemas rapidamente, melhorando a robustez do código.

Desenvolvimento

Teal: Um dialeto Lua com tipagem estática

2025-05-16

Teal é um dialeto de Lua com tipagem estática, que adiciona anotações de tipo a Lua para arrays, mapas, registros, interfaces, tipos de união e genéricos. Tem como objetivo preencher um nicho semelhante ao do TypeScript no mundo JavaScript, mas mantendo o minimalismo, a portabilidade e a capacidade de incorporação do Lua. O compilador Teal, `tl`, compila código-fonte `.tl` em arquivos `.lua`. A instalação é feita via LuaRocks, com binários pré-compilados disponíveis para Linux e Windows. Para projetos maiores, recomenda-se o uso da ferramenta de construção Cyan. Extensões para VS Code e NeoVim também estão disponíveis. O projeto é de código aberto sob a licença MIT.

Desenvolvimento Tipado Estaticamente

gkrellm: Um poderoso monitor de sistema Linux

2025-05-16

O gkrellm é uma ferramenta poderosa de monitoramento de sistema para Linux, exibindo nome do host, uso da CPU, temperatura, velocidade do ventilador, voltagem, uso do disco, conexões de rede, uso da memória e muito mais. Ele oferece alarmes e avisos personalizáveis e possui recursos de plug-in para monitoramento estendido. O gkrellm também suporta monitoramento remoto de sistemas por meio do modo cliente/servidor, fornecendo vários gráficos e modos de exibição para uma compreensão intuitiva do status do sistema.

Desenvolvimento
1 2 86 87 88 90 92 93 94 214 215