Category: Desenvolvimento

Jank: Interoperabilidade perfeita entre C++ e Clojure, feita por um desenvolvedor solo

2025-07-12
Jank: Interoperabilidade perfeita entre C++ e Clojure, feita por um desenvolvedor solo

O projeto Jank alcançou um progresso significativo, permitindo interoperabilidade perfeita entre Clojure e C++. Através da gestão manual de memória, sistemas de tipos aprimorados e caixas opacas, o desenvolvedor possibilita chamadas diretas a código C++ dentro do Clojure. Exemplos práticos incluem imprimir "Olá, mundo!" usando streams de C++ e analisar arquivos JSON com a biblioteca JSON for Modern C++. O trabalho futuro focará em empacotamento, distribuição, correção de bugs e, por fim, o lançamento da versão alpha.

Desenvolvimento

Controle Simples do Sonos para Criança de 5 Anos usando ESP32

2025-07-12
Controle Simples do Sonos para Criança de 5 Anos usando ESP32

Um pai criou um sistema simples de controle de caixas de som Sonos Play:1 para seu filho de 5 anos. Usando um M5Stack CardPuter v1.1 (ESP32S3) como controlador e Go para a lógica de back-end, a criança pode reproduzir ou reiniciar sua playlist favorita com um pressionar de botão. Uma luz verde indica o status operacional. Este é um projeto divertido e fácil de usar, destacando a simplicidade e a interação lúdica.

Desenvolvimento Projeto Infantil

Combatendo Crawlers Maliciosos com JPEGs Falsos

2025-07-12
Combatendo Crawlers Maliciosos com JPEGs Falsos

O autor desenvolveu um pequeno aplicativo web chamado Spigot que gera páginas web falsas para confundir crawlers maliciosos. Recentemente, um crawler chamado ImageSiftBot o atacou agressivamente em busca de imagens, apesar do Spigot não possuí-las. Para contra-atacar, o autor usa de forma inteligente a estrutura dos arquivos JPEG, gerando JPEGs falsos preenchidos com dados aleatórios. Isso consome efetivamente os recursos do crawler, minimizando a carga da CPU no servidor. A abordagem é simples e eficiente, exigindo código mínimo, e as imagens geradas são exibidas corretamente na maioria dos navegadores.

Desenvolvimento crawlers maliciosos

Bug quase catastrófico no OpenZFS destaca a importância do sistema de tipos do Rust

2025-07-11
Bug quase catastrófico no OpenZFS destaca a importância do sistema de tipos do Rust

Um bug sutil, porém devastador, na função de alocação de disco principal do OpenZFS foi descoberto recentemente. O bug, um simples erro de tipo que resultava no retorno do tamanho errado, poderia sobrescrever dados silenciosamente. Levou quase dois dias para rastreá-lo. Embora o bug não estivesse presente em nenhuma versão lançada, isso levou à reflexão sobre as limitações da análise estática em C e as vantagens do sistema de tipos do Rust. A capacidade do Rust de definir tipos personalizados (como `PhysicalSize` e `AllocatedSize`) teria evitado isso. O autor argumenta que depender apenas da perfeição do programador é falho; alavancar ferramentas e recursos de linguagem para melhorar a qualidade do código e mitigar bugs difíceis de detectar e de alto impacto é fundamental.

Desenvolvimento

Guia de Estilo Red Hat: Um Mergulho Profundo na Terminologia

2025-07-11

Este documento descreve meticulosamente a terminologia padronizada usada na documentação técnica da Red Hat. Ele abrange uma ampla gama de aspectos, desde nomes de software (por exemplo, IBM S/390, Samba) até descrições de segurança (evitando termos vagos como "seguro" e exigindo detalhes específicos sobre recursos de segurança). O guia também padroniza abreviaturas (por exemplo, SSH, SSL), descrições de linha de comando e esclarece o uso adequado de palavras facilmente confundidas (por exemplo, "since" versus "because"). O objetivo geral é garantir consistência e precisão, melhorando a legibilidade e o profissionalismo.

Cactus: Framework multiplataforma para implantação local de LLMs

2025-07-11
Cactus: Framework multiplataforma para implantação local de LLMs

Cactus é um framework multiplataforma para implantar modelos de linguagem grandes (LLMs), modelos de linguagem de visão (VLMs) e modelos de texto para fala (TTS) localmente em seu aplicativo. Suporta Flutter e React Native, funciona com qualquer modelo GGUF do Hugging Face (Qwen, Gemma, Llama, etc.), manipulando modelos de FP32 até quantização de 2 bits. Cactus fornece chamadas de ferramentas MCP para funcionalidade de IA aprimorada (lembretes, pesquisa de imagens, respostas a mensagens), fallback de modelo na nuvem para tarefas complexas, modelos de bate-papo com tecnologia Jinja2 e streaming de tokens. Código de exemplo, benchmarks de desempenho em vários dispositivos e backend C++ são fornecidos.

Desenvolvimento

Aumento de Desempenho do Btrfs: Alocação de Blocos com Funções de Dispositivo

2025-07-11

Uma melhoria significativa de desempenho está chegando ao sistema de arquivos Btrfs! Uma nova atualização introduz um método de alocação de blocos baseado em desempenho usando funções de dispositivo, resolvendo o desequilíbrio atual causado pela alocação baseada apenas em espaço livre. Ao definir cinco funções de dispositivo (metadata_only, metadata, none, data, data_only) e priorizando as funções juntamente com o espaço restante, o sistema pode atribuir inteligentemente dispositivos mais rápidos a metadados e dispositivos mais lentos a dados, aumentando significativamente o desempenho de leitura/escrita. Essa melhoria evita medições complexas de velocidade de dispositivo, aproveitando o formato existente no disco para um gerenciamento de armazenamento mais inteligente e eficiente.

Desenvolvimento

diffsitter: Ferramenta de Diferença de Código Semântica

2025-07-11
diffsitter: Ferramenta de Diferença de Código Semântica

diffsitter é uma ferramenta de comparação de diferenças de código que gera diferenças semanticamente significativas comparando as Árvores de Sintaxe Abstrata (ASTs) de arquivos, ignorando diferenças de formatação. Suporta diversas linguagens de programação e oferece recursos como filtragem de nós configurável, formatação amigável ao terminal e registro detalhado. As opções de instalação incluem compilação a partir do código-fonte, uso de binários pré-compilados e gerenciadores de pacotes.

eBPF e tempos de execução de contêiner: Conectando via CRI

2025-07-11

Este artigo explora como projetos eBPF de código aberto se conectam a tempos de execução de contêiner (CRs) usando a Interface de Tempo de Execução de Contêiner (CRI) para enriquecer o contexto com informações de pod e contêiner. Ele detalha o processo de conexão: localizar o arquivo de socket Unix, estabelecer uma conexão gRPC usando a API CRI e consultar informações. Exemplos de Tetragon, crictl e Tracee ilustram diferentes abordagens para conectar ao CR, incluindo caminhos de socket padrão codificados e tentativas de conexão em tempo de execução. Finalmente, demonstra a consulta de informações de contêiner, como caminhos de cgroup, usando a API CRI, como o método do Tetragon para recuperar o caminho de cgroup de um contêiner.

Ferramentas de IA atrasam desenvolvedores experientes de código aberto: Um ensaio controlado randomizado

2025-07-11
Ferramentas de IA atrasam desenvolvedores experientes de código aberto: Um ensaio controlado randomizado

Um ensaio controlado randomizado (RCT) investigou o impacto das ferramentas de IA do início de 2025 na produtividade de desenvolvedores experientes de código aberto trabalhando em seus próprios repositórios. Surpreendentemente, os desenvolvedores que usaram ferramentas de IA levaram 19% mais tempo para concluir as tarefas - a IA os tornou mais lentos. Os pesquisadores veem isso como um instantâneo das capacidades atuais de IA; eles planejam continuar com esta metodologia para rastrear a aceleração da IA a partir da automação de P&D de IA. O estudo explora fatores potenciais que contribuem para a desaceleração e examina discrepâncias entre este RCT e outros benchmarks e evidências anedóticas, destacando a necessidade de metodologias de avaliação diversas para avaliar de forma abrangente as capacidades de IA.

Desenvolvimento

Novo Canal Canary do Android: Acesso Antecipado Contínuo para Desenvolvedores

2025-07-11
Novo Canal Canary do Android: Acesso Antecipado Contínuo para Desenvolvedores

O Google está substituindo seu programa Developer Preview por um novo canal Canary para Android, oferecendo aos desenvolvedores atualizações contínuas durante todo o ano. Isso permite acesso mais cedo e consistente a recursos experimentais e APIs. Ao contrário das instalações manuais anteriores, as compilações Canary são entregues via over-the-air e rodam simultaneamente com o programa beta. Embora destinado a testes e não ao uso diário, o Canary fornece valioso feedback antecipado, permitindo que os desenvolvedores identifiquem problemas e testem seus aplicativos continuamente. O suporte está atualmente disponível para dispositivos Pixel e a versão Canary do Android Studio.

Popularidade de Bancos de Dados no Hacker News: ClickHouse e DuckDB em Ascensão

2025-07-11
Popularidade de Bancos de Dados no Hacker News: ClickHouse e DuckDB em Ascensão

Uma análise de 18 anos de dados do Hacker News mostra o crescimento acentuado dos bancos de dados de código aberto ClickHouse e DuckDB, enquanto os bancos de dados nativos da nuvem veem a discussão diminuir. O PostgreSQL mantém sua forte presença, e o SQLite se destaca pelo alto engajamento do usuário. A análise utiliza contagens de títulos e métricas de engajamento (comentários e pontos) para mostrar tendências, destacando a ascensão de bancos de dados de código aberto e analíticos.

Desenvolvimento

Ferramentas de codificação de IA: queda de 19% na produtividade para desenvolvedores experientes

2025-07-11
Ferramentas de codificação de IA: queda de 19% na produtividade para desenvolvedores experientes

Um estudo rigoroso sobre desenvolvedores experientes usando ferramentas de codificação de IA revela uma surpreendente queda de 19% na produtividade, contradizendo a expectativa autodeclarada pelos desenvolvedores de um aumento de 20%. O estudo descobriu que o código gerado por IA frequentemente não atendia aos altos padrões de projetos grandes e maduros, levando a um tempo significativo gasto na revisão e correção da saída da IA. Isso destaca as limitações das ferramentas de codificação de IA atuais, sugerindo que sua eficácia depende muito do tipo de projeto, da experiência do desenvolvedor e da maturidade das próprias ferramentas.

Desenvolvimento

Blog de Álgebra Linear Gráfica: Uma Abordagem Diagramática para Álgebra Linear

2025-07-11
Blog de Álgebra Linear Gráfica: Uma Abordagem Diagramática para Álgebra Linear

Este blog explora a álgebra linear por meio de uma abordagem visual e diagramática. Ele explica conceitos matemáticos complexos de forma acessível, usando ilustrações para esclarecer tópicos desafiadores. O conteúdo abrange desde operações básicas até conceitos avançados, como matrizes, homomorfismos e relações, tudo explicado passo a passo com diagramas. O blog também anuncia uma escola de pesquisa em Teoria de Categorias Aplicada e oportunidades de pesquisa relacionadas, tornando-o valioso para estudantes e pesquisadores interessados em álgebra linear.

Desenvolvimento matemática visual

FOKS: Acesso a Dados Seguro por meio de Hierarquia de Chaves Simples

2025-07-11

O FOKS protege o acesso a dados usando uma hierarquia de chaves simples. As chaves de nível básico incluem chaves de dispositivo de usuário, chaves de backup e YubiKeys. Cada usuário possui várias chaves por usuário (PUKs) cujos segredos de sementes são criptografados com todas as chaves de nível básico disponíveis. A remoção de uma chave de nível básico gira as PUKs. As chaves de equipe (PTKs) funcionam de forma semelhante, compartilhadas entre os membros da equipe (usuários ou sub-equipes) e criptografadas com chaves de membro. Essa hierarquia garante que apenas dispositivos, equipes e usuários autorizados possam acessar os dados.

Desenvolvimento gerenciamento de chaves

Inferência de LLM em Produção: O Guia Definitivo

2025-07-11
Inferência de LLM em Produção: O Guia Definitivo

Este guia aborda o conhecimento fragmentado sobre inferência de LLM em produção. Ele cobre conceitos principais, métricas de desempenho (como Tempo até o Primeiro Token e Tokens por Segundo), técnicas de otimização (batching contínuo, cache de prefixo) e melhores práticas operacionais. Se você está ajustando finamente um pequeno modelo aberto ou executando implantações em larga escala, este guia ajuda a tornar a inferência de LLM mais rápida, barata e confiável.

Desenvolvimento inferência produção

Modo Batch para a API Gemini: Processamento de Alta Taxa de Transferência

2025-07-11
Modo Batch para a API Gemini: Processamento de Alta Taxa de Transferência

A API Gemini do Google agora inclui um modo batch, um endpoint assíncrono ideal para tarefas de alta taxa de transferência onde a latência não é crítica. Envie grandes trabalhos, deixe o sistema lidar com o processamento e recupere os resultados em até 24 horas com 50% de desconto em comparação com as APIs síncronas. Perfeito para dados preparados previamente que não precisam de resposta imediata, oferece economia de custos, aumento da taxa de transferência e chamadas de API simplificadas. A Reforged Labs o utiliza para processar grandes quantidades de anúncios em vídeo, melhorando significativamente a eficiência e reduzindo custos. Comece facilmente com o Google GenAI Python SDK.

Pangolin: Servidor Proxy Reverso em Túnel de Confiança Zero Auto-Hospedado

2025-07-11
Pangolin: Servidor Proxy Reverso em Túnel de Confiança Zero Auto-Hospedado

Pangolin é um servidor proxy reverso em túnel auto-hospedado com controle de identidade e acesso, projetado para expor com segurança recursos privados em redes distribuídas. Ele atua como um hub central, conectando redes isoladas - mesmo aquelas atrás de firewalls restritivos - por meio de túneis criptografados, permitindo acesso fácil a serviços remotos sem abrir portas. Utilizando WireGuard, Pangolin oferece recursos robustos, incluindo autenticação centralizada (SSO, TOTP), controle de acesso baseado em funções e opções de implantação flexíveis. Extenda sua funcionalidade com plug-ins Traefik. Casos de uso incluem contornar restrições de porta, implantar aplicativos de negócios e gerenciar redes de IoT. Uma alternativa auto-hospedada ao Cloudflare Tunnels.

Desenvolvimento confiança zero

Gargalo de desempenho do PostgreSQL LISTEN/NOTIFY: Lições do processamento de milhões de horas de reuniões

2025-07-11
Gargalo de desempenho do PostgreSQL LISTEN/NOTIFY: Lições do processamento de milhões de horas de reuniões

A Recall.ai processa milhões de horas de dados de reuniões a cada mês. Seu banco de dados PostgreSQL sofreu quedas devido a gravações de alta concorrência. A investigação revelou que o recurso LISTEN/NOTIFY adquire uma trava global do banco de dados durante o commit da transação, serializando todos os commits e criando um gargalo. A migração dessa lógica para a camada de aplicação resolveu o problema.

Desenvolvimento

Google DeepMind lança GenAI Processors: Simplificando o desenvolvimento de aplicativos de LLM

2025-07-11
Google DeepMind lança GenAI Processors: Simplificando o desenvolvimento de aplicativos de LLM

O Google DeepMind lançou o GenAI Processors, uma biblioteca Python de código aberto projetada para simplificar o desenvolvimento de aplicativos complexos de Modelos de Linguagem Grandes (LLM). A biblioteca usa uma interface Processor para abstrair várias etapas de processamento de dados e lida com entrada multimodal por meio de processamento de stream assíncrono, permitindo execução concorrente para maior capacidade de resposta e eficiência. O GenAI Processors integra-se à API Gemini e fornece exemplos para a construção de aplicativos em tempo real, como transcrição ao vivo e agentes conversacionais.

Desenvolvimento

Construtor de formulários com IA e envios ilimitados

2025-07-10
Construtor de formulários com IA e envios ilimitados

Este construtor de formulários com tecnologia de IA permite envios ilimitados e oferece um construtor de formulários com IA, exportação CSV/JSON, suporte prioritário e criação móvel. Também inclui análises avançadas, análises com IA e recursos futuros como colaboração em equipe, domínios personalizados, marcação de respostas, integrações, suporte aprimorado a webhooks, construtor de lógica, busca de dados de API, campos de entrada de tempo, uploads de arquivos e opções avançadas de personalização de formulários.

Red Hat lança RHEL gratuito para desenvolvedores de negócios

2025-07-10
Red Hat lança RHEL gratuito para desenvolvedores de negócios

A Red Hat lançou o Red Hat Enterprise Linux for Business Developers, uma distribuição Linux de nível empresarial gratuita, projetada para dar aos desenvolvedores acesso rápido e fácil ao mesmo sistema operacional usado em ambientes de produção para desenvolvimento e testes de negócios. Os desenvolvedores têm acesso direto e self-service, contornando a aprovação de TI, com até 25 implantações de instâncias. Isso visa reduzir o atrito entre as equipes de desenvolvimento e operações e abordar as crescentes ameaças à segurança da cadeia de suprimentos de software. Inclui conteúdo de desenvolvedor assinado e curado, como linguagens de programação, ferramentas de código aberto e bancos de dados, além da ferramenta de desenvolvimento de contêineres da Red Hat, Podman Desktop.

Desenvolvimento Linux empresarial

Tududi: Gerenciamento de Tarefas Simplificado

2025-07-10
Tududi: Gerenciamento de Tarefas Simplificado

A maioria dos aplicativos de tarefas são como painéis de controle com infinitos controles e micro-opções. Criar uma nova tarefa geralmente envolve navegar por um labirinto de seletores de cores, níveis de prioridade e configurações de repetição. O Tududi oferece uma abordagem diferente: fluxo de trabalho simplificado. Ele prioriza a escrita da tarefa, focando no fluxo em vez de recursos. Em vez de apresentar um conjunto de ferramentas, o Tududi oferece eficiência.

Desenvolvimento

Otimização Extrema de um Parser de Expressões Matemáticas em Rust: De 43 Segundos para 0,98 Segundos

2025-07-10
Otimização Extrema de um Parser de Expressões Matemáticas em Rust: De 43 Segundos para 0,98 Segundos

Este artigo detalha a jornada do autor na otimização do tempo de execução de um analisador de expressões matemáticas baseado em Rust, de 43 segundos para impressionantes 0,98 segundos. Por meio de uma série de otimizações, incluindo a prevenção de alocações de memória desnecessárias, processamento direto de fluxos de bytes, remoção do iterador `Peekable`, uso de instruções multithreading e SIMD e uso de arquivos mapeados na memória, foi alcançado um aumento dramático no desempenho. O artigo explica detalhadamente os princípios e métodos de implementação de cada etapa de otimização, com o auxílio de gráficos de chamadas e dados de desempenho. Este é um estudo de caso convincente sobre otimização de desempenho, mostrando programação meticulosa e uso inteligente dos recursos do Rust.

Thunderbird 140 “Eclipse” Lançado: Experiência de Email Mais Escuro e Suave

2025-07-10
Thunderbird 140 “Eclipse” Lançado: Experiência de Email Mais Escuro e Suave

O Thunderbird 140 “Eclipse”, o mais recente lançamento de suporte estendido (ESR), chegou! Construído sobre a versão 128 e incorporando atualizações mensais recentes, este lançamento possui mensagens escuras adaptativas, controles visuais aprimorados e um Account Hub simplificado. Os usuários podem facilmente personalizar as configurações de aparência, aproveitar as notificações do sistema operacional nativo e desfrutar de adição de contas e classificação de pastas simplificadas. Recursos adicionais incluem suporte nativo experimental do Exchange, exportação de código QR móvel, rolagem horizontal na visualização de tabela e milhares de correções de bugs e melhorias de desempenho. As atualizações manuais estão disponíveis agora para Windows, Linux e macOS, com atualizações automáticas sendo lançadas em breve.

Desenvolvimento

cmdk: Seu novo melhor amigo no terminal (acesso a qualquer coisa com ⌘-k)

2025-07-10
cmdk: Seu novo melhor amigo no terminal (acesso a qualquer coisa com ⌘-k)

Cansado dos comandos intermináveis de `cd` e `ls` no seu terminal? O cmdk revoluciona a navegação de arquivos! Pressione ⌘-k para acessar instantaneamente qualquer arquivo ou diretório no seu sistema de arquivos, com pré-visualizações antes de abrir. Aproveitando o fzf para pesquisa fuzzy, o cmdk abre arquivos inteligentemente com base em seu tipo (texto no vim, imagens no Preview, etc.). Instalação simples, funcionalidade poderosa — experimente o acesso semelhante ao Notion/Slack no seu terminal.

Desenvolvimento

CockroachDB 25.2: Segurança em Nível de Linha para Controle Aprimorado de Dados

2025-07-10
CockroachDB 25.2: Segurança em Nível de Linha para Controle Aprimorado de Dados

O lançamento do CockroachDB 25.2 apresenta a Segurança em Nível de Linha (RLS), um recurso poderoso que permite controle de acesso granular em nível de linha diretamente no banco de dados. Isso aborda as limitações das permissões tradicionais em nível de tabela, especialmente importantes para implantações multilocatárias e multi-regionais. O artigo detalha a implementação do RLS por meio de casos de uso multilocatário e multi-regional, mostrando seus benefícios no isolamento de dados, conformidade regulatória e lógica de aplicativo simplificada. A combinação do RLS com a funcionalidade Regional By Row (RBR) do CockroachDB fornece controle de acesso baseado em localização geográfica, garantindo a conformidade com as leis de residência de dados.

Quantização de Cor CIELAB Aprimorada com a Fórmula de Distância HyAB

2025-07-10

Este artigo explora um método aprimorado de quantização de cor CIELAB usando uma nova fórmula de distância chamada HyAB, substituindo a distância euclidiana tradicional. HyAB usa a diferença absoluta para a luminosidade e a distância euclidiana para a cromaticidade, mostrando melhor alinhamento com a percepção humana em experimentos. O autor o aplica ao algoritmo k-means, otimizando ainda mais os resultados ao substituir o cálculo da média do componente L pelo cálculo da mediana. Embora HyAB possa melhorar a qualidade da imagem em alguns casos, o autor observa que o design geral do sistema e técnicas de pós-processamento, como o dithering, têm um impacto maior no resultado final.

Desenvolvimento quantização de cor

Predição de Ramos: Uma Chave para a Otimização de Desempenho da CPU

2025-07-10
Predição de Ramos: Uma Chave para a Otimização de Desempenho da CPU

As instruções de desvio são o mecanismo principal pelo qual uma CPU toma decisões em um programa. Esta postagem explora os tipos de instruções de desvio (condicional/incondicional, direta/indireta) e como a predição de desvios afeta o desempenho da CPU. Embora as técnicas de predição de desvios possam melhorar significativamente a eficiência, desvios frequentes ainda criam gargalos de desempenho. O artigo sugere otimizar o código simplificando instruções condicionais, incorporando funções, evitando chamadas excessivamente aninhadas, usando desvios indiretos com cautela e utilizando instruções de movimento condicional para reduzir o número de instruções de desvio e melhorar o desempenho do programa.

1 2 35 36 37 39 41 42 43 205 206