Mapas de recorte de geometria: renderização de terreno simples com nível de detalhe

2024-12-12

Esta postagem de blog detalha os mapas de recorte de geometria, uma técnica para renderizar terrenos vastos em tempo real. Ela utiliza uma malha com densidade de tesselação variável — mais fina perto da câmera, mais grosseira mais longe — para alcançar o nível de detalhe. O autor explica meticulosamente os detalhes da implementação, incluindo a geração de malha, os procedimentos de renderização, o tratamento de costuras e o armazenamento eficiente de mapas de altura. O alinhamento da malha é crucial, evitando artefatos cintilantes. Embora complexo, a técnica se destaca por sua simplicidade, evitando algoritmos computacionalmente caros, mantendo a renderização de terreno de alta qualidade.

Leia mais

Filtros de nomes do ChatGPT causam controvérsia

2024-12-12

O chatbot de IA ChatGPT gerou controvérsia devido a seus filtros de nomes integrados. Esses filtros impedem os usuários de mencionar certos nomes, como Brian Hood, Jonathan Turley e Jonathan Zittrain, causando interrupções no bate-papo. O motivo para filtrar esses nomes decorre de instâncias anteriores em que o ChatGPT gerou incorretamente informações sobre essas pessoas, levando a disputas legais. Embora a OpenAI afirme que a filtragem de "David Mayer" foi uma falha, o incidente destaca os desafios que os LLMs enfrentam no manuseio de informações sensíveis e os problemas potenciais que filtros codificados de forma rígida podem criar.

Leia mais

Armazenando horários para eventos humanos: melhores práticas e desafios

2024-12-12

Esta postagem de blog discute as melhores práticas para armazenar horários de eventos em sites de eventos. O autor argumenta que armazenar diretamente o horário UTC perde informações cruciais, como a intenção original do usuário e a localização. Uma abordagem melhor é armazenar o horário pretendido pelo usuário e a localização do evento, e então derivar o horário UTC. Exemplos como erro do usuário, ajustes de fuso horário internacional e a atualização do DST do Microsoft Exchange de 2007 ilustram a importância de armazenar o horário pretendido pelo usuário. O autor recomenda projetar uma interface de usuário clara e amigável para ajudar os usuários a definir com precisão os horários e locais dos eventos, enfatizando a importância de manter a intenção original do usuário para evitar erros causados por mudanças de fuso horário.

Leia mais

Programador critica provedores OAuth por falhas na API

2024-12-12

Um programador criticou publicamente vários provedores OAuth (GitHub, Facebook, TikTok, Strava, Naver e outros) por inconsistências em suas APIs. Os problemas incluíam códigos de status incorretos, respostas de erro não padrão, nomenclatura de parâmetros inconsistente e formatos de expiração de token com defeito. O autor instou esses provedores a corrigir esses problemas, expressando confusão particular com as escolhas de design do Naver. A postagem também destacou a falta de suporte para autenticação básica HTTP, esclarecendo posteriormente que, embora opcional no OAuth 2.1, a falta de suporte PKCE na maioria dos provedores os torna não conformes a nenhuma das especificações.

Leia mais

Gráficos de bitmap de alta resolução com Commodore 64 BASIC 2.0: rotina de limpeza de tela rápida

2024-12-12

Este artigo demonstra o manuseio eficiente de gráficos de bitmap de alta resolução no Commodore 64 BASIC 2.0, focando em uma rotina rápida de limpeza de tela. O autor observa que o BASIC nativo carece de comandos de manipulação direta de bitmap, tornando a limpeza convencional lenta. Uma solução inteligente utiliza o mecanismo de armazenamento de strings do BASIC: strings longas preenchidas com CHR$(0) sobrescrevem a memória do bitmap, atingindo uma limpeza rápida. A técnica é ilustrada com um exemplo de plotagem de função cosseno.

Leia mais

WXT: Framework de Extensão Web de Próxima Geração para Desenvolvimento Acelerado

2024-12-12

O WXT é uma ferramenta de código aberto que revoluciona o desenvolvimento de extensões web. Suporta Chrome, Firefox, Edge, Safari e todos os navegadores baseados em Chromium, construindo extensões Manifest V2 e V3 a partir de uma única base de código. Com HMR ultrarrápido, pontos de entrada baseados em arquivos e suporte padrão ao TypeScript, o WXT oferece importações automáticas e publicação automatizada. Agnóstico de framework e compatível com qualquer plugin Vite, ele possui um sistema de módulos e download de código remoto, maximizando a velocidade de desenvolvimento e permitindo que os desenvolvedores se concentrem em recursos, não em scripts de construção.

Leia mais

Erros de compilador C++: Erros sem sentido de uma declaração de função

2024-12-12

Um desenvolvedor adicionando suporte XAML a um aplicativo C++ encontrou uma série de erros de compilador simplesmente incluindo o arquivo de cabeçalho winrt/Windows.UI.Xaml.h. Os erros decorreram do que parecia ser uma declaração de função normal: `template struct consume_Windows_UI_Xaml_IExceptionRoutedEventArgs { [[nodiscard]] auto ErrorMessage() const; };` A causa raiz era uma macro preexistente chamada ErrorMessage no projeto do desenvolvedor, conflitando com o nome da função. Essa macro criava um objeto ErrorMessageString e retornava um ponteiro para uma string de mensagem de erro. A falta de limites da macro fez com que o compilador interpretasse erroneamente a declaração da função como uma invocação de macro, resultando em erros como "argumentos insuficientes". A solução envolveu desabilitar a macro usando #pragma undef antes de incluir o cabeçalho ou remover a macro completamente e substituí-la por uma função inline.

Leia mais

Clone do ChatGPT em 3000 bytes de C

2024-12-12

O desenvolvedor Nicholas Carlini criou um clone do ChatGPT usando apenas 3000 bytes de código C, baseado no modelo GPT-2. Esta implementação sem dependências carrega a matriz de pesos e o arquivo BPE do GPT-2, realizando tokenização, operações de matriz, inferência de transformador e detokenização. Embora a qualidade da saída não seja alta, sua eficiência é notável, produzindo várias respostas por segundo em hardware moderno. Isso demonstra o potencial de código compacto na implementação de modelos de IA complexos.

Leia mais
IA IA

QEMU recebe aceleração Vulkan com atualização do driver VirtIO GPU

2024-12-12

O QEMU versão 9.2.0 e superior agora suporta aceleração Vulkan para VirtIO-GPU graças às correções do Venus. Isso representa um avanço significativo no renderização de gráficos Vulkan para máquinas virtuais QEMU. O artigo detalha o processo de configuração, incluindo a instalação dos pacotes necessários (kernel Linux 6.13+, QEMU 9.2.0+, drivers Vulkan, etc.), a construção do QEMU a partir da fonte e a criação de uma imagem de VM. Embora o virt-manager atualmente não tenha suporte de configuração Vulkan, os parâmetros da linha de comando oferecem uma solução alternativa. Dicas de solução de problemas são fornecidas, juntamente com notas sobre as limitações atuais no virt-manager e libvirt.

Leia mais
Desenvolvimento

Análise de Alcance do Sistema de Nomes de Domínio Avança

2024-12-12

Pesquisadores apresentaram o primeiro procedimento de decisão para verificar o Sistema de Nomes de Domínio (DNS), estabelecendo sua complexidade como 2ExpTime. O estudo formaliza a semântica do DNS e usa uma nova abstração baseada em linguagens positivamente testáveis por prefixo, reduzindo o problema de verificação do DNS ao problema de verificação para sistemas pushdown. Essa abordagem modela efetivamente vetores de ataque no DNS, como ataques de amplificação e blackholing de reescrita, fornecendo uma nova base teórica para garantir a segurança e confiabilidade do DNS.

Leia mais

Instalação fácil do macOS em qualquer computador com Proxmox

2024-12-12

Este projeto oferece um método simplificado para instalar o macOS em qualquer computador usando o Proxmox VE versões 7.0 a 8.2. Um único script automatiza o processo de configuração, permitindo que os usuários executem facilmente versões do macOS, desde High Sierra até Sonoma, em uma máquina virtual Proxmox. Instalações em ambientes de nuvem também são suportadas e um vídeo tutorial está disponível.

Leia mais
Hardware Virtualização
1 2 14 15 16 17 18 19 20 22 Next →