Category: Desenvolvimento

Duplicação de Corpo: Uma Técnica de Produtividade para Foco e Conclusão de Tarefas

2025-03-29

A duplicação de corpo é uma técnica de produtividade que está ganhando popularidade, especialmente entre pessoas com TDAH. Envolve trabalhar ao lado de outra pessoa, física ou virtualmente, para melhorar o foco e a conclusão de tarefas. A presença do 'duplo de corpo' atua como um motivador externo, reduzindo distrações e promovendo um sentimento de responsabilidade. Embora estudos de longo prazo sejam limitados, evidências anedóticas e opiniões de especialistas sugerem sua eficácia como uma abordagem complementar à medicação e útil para indivíduos com outras condições, como autismo ou ansiedade.

Desenvolvimento

RTABench: Um novo benchmark para aplicativos de análise em tempo real

2025-03-29
RTABench: Um novo benchmark para aplicativos de análise em tempo real

Benchmarks de análise tradicionais geralmente ignoram as necessidades de aplicativos em tempo real, como gerar insights rápidos e direcionados para usuários, dispositivos ou transações específicos. O RTABench preenche essa lacuna fornecendo um benchmark que reflete com precisão a análise em tempo real dentro de aplicativos, usando um esquema normalizado, tamanhos de conjuntos de dados realistas e consultas que correspondem aos padrões de uso do mundo real. Ele inclui 33 consultas cobrindo consultas de eventos brutos, filtragem seletiva, junções de várias tabelas e consultas pré-agregadas para avaliar o desempenho do banco de dados em esquemas normalizados, filtragem seletiva e visualizações materializadas incrementais. O RTABench suporta vários bancos de dados e dá as boas-vindas às contribuições da comunidade para expandir seu suporte a bancos de dados e otimizações.

vramfs: Transforme sua VRAM de GPU em um sistema de arquivos

2025-03-29
vramfs: Transforme sua VRAM de GPU em um sistema de arquivos

vramfs é um utilitário que usa a biblioteca FUSE para criar um sistema de arquivos na VRAM da sua GPU. Semelhante a um ramdisk, mas usando memória de vídeo, não é para uso intensivo, mas funciona surpreendentemente bem em GPUs de consumo com 4 GB ou mais de VRAM. O desenvolvedor alcançou velocidades de leitura de ~2,4 GB/s e de escrita de 2,0 GB/s, cerca de 1/3 de um ramdisk. Ele usa OpenCL para gerenciamento de memória e FUSE para desenvolvimento simplificado. Melhorias futuras visam atingir os limites de largura de banda PCI-e.

Desenvolvimento Sistema de arquivos

Aprenda gramática japonesa com TypeScript: Apresentando o Typed Japanese

2025-03-29
Aprenda gramática japonesa com TypeScript: Apresentando o Typed Japanese

Typed Japanese é uma biblioteca de nível de tipo TypeScript que permite expressar frases completas em japonês usando o sistema de tipos. Ele cria uma linguagem específica de domínio (DSL) com base em regras gramaticais japonesas, permitindo a escrita e verificação de linguagem natural gramaticalmente correta usando o compilador do TypeScript. O projeto também explora um formato intermediário para IA no aprendizado de idiomas, potencialmente substituindo JSON por uma representação verificada por tipo para maior precisão. Ele suporta várias conjugações de verbos e adjetivos, construção de frases e sentenças, com o objetivo de criar um sistema de tipos para aprender e verificar a gramática japonesa. Embora ainda esteja em estágios iniciais e dependa de regras geradas por LLM, oferece uma abordagem única para aprendizagem de idiomas e verificação gramatical.

Convertendo LaTeX para HTML acessível: Um estudo de caso

2025-03-29
Convertendo LaTeX para HTML acessível: Um estudo de caso

O LaTeX, embora excelente para produzir documentos de alta qualidade, apresenta problemas de acessibilidade devido à sua saída em PDF. Este artigo explora a conversão de LaTeX para HTML para melhorar a acessibilidade. Ele compara alternativas ao LaTeX (Pressbooks, PreTeXt, Markdown) e concentra-se nas ferramentas de conversão LaTeXML e BookML. Um estudo de caso detalhando a conversão de um livro didático aberto de lógica destaca os desafios e truques, como o tratamento de fórmulas matemáticas, texto alternativo para imagens e compatibilidade com leitores de tela. A experiência do autor demonstra o processo de criação de um livro didático online mais acessível, equilibrando as necessidades de várias tecnologias assistivas.

Desenvolvimento

Microsoft corrige a maneira de contornar o login da Conta Microsoft no Windows 11

2025-03-29
Microsoft corrige a maneira de contornar o login da Conta Microsoft no Windows 11

A mais recente versão de pré-visualização do canal Dev do Windows 11 remove o script bypassnro.cmd, que anteriormente permitia aos usuários contornar o requisito obrigatório de login da Conta Microsoft. A Microsoft afirma que essa alteração melhora a segurança e garante que todos os usuários façam login com uma Conta Microsoft enquanto estiverem online. Isso causará transtornos aos usuários que preferem a configuração off-line ou contas locais, embora as Contas Microsoft ofereçam benefícios, como acesso fácil a assinaturas e sincronização de dados. As contas locais, no entanto, reduzem as notificações e as vendas adicionais.

Desenvolvimento

O Fim das Discussões sobre Microsserviços: Um Debate Arquitetônico Inútil

2025-03-29
O Fim das Discussões sobre Microsserviços: Um Debate Arquitetônico Inútil

O autor relata sua frustração com debates intermináveis sobre microsserviços durante uma reunião de revisão de arquitetura. Ele argumenta que a falta de uma definição clara, o desacoplamento dos objetivos de negócios e a negligência das mudanças organizacionais tornam essas discussões improdutivas. Muitas discussões sobre microsserviços são, na verdade, sobre o desejo de tecnologia de ponta, em vez de resolver problemas do mundo real. O autor propõe abandonar as discussões abstratas sobre microsserviços e focar em desafios concretos, como implantações de recursos mais rápidas, redução de acoplamento e solução de gargalos. Os microsserviços só funcionam quando a estrutura e os processos organizacionais os suportam; caso contrário, eles apenas adicionam complexidade.

Desenvolvimento

Exploração Crítica de Bypass de Espaço de Nomes de Usuário do Ubuntu Descoberta

2025-03-29
Exploração Crítica de Bypass de Espaço de Nomes de Usuário do Ubuntu Descoberta

Pesquisadores da Qualys descobriram três bypasses críticos de segurança nas restrições de espaço de nomes de usuário não privilegiados do Ubuntu 23.10 e 24.04. Esses bypasses, que utilizam a ferramenta aa-exec, o shell busybox e a técnica LD_PRELOAD, permitem que atacantes locais criem espaços de nomes de usuário com privilégios administrativos completos, potencialmente explorando vulnerabilidades do kernel. A Canonical reconhece esses como limitações de sua defesa AppArmor, não como vulnerabilidades, e recomenda etapas de endurecimento administrativo, como habilitar kernel.apparmor_restrict_unprivileged_unconfined=1 para mitigar os riscos.

Desenvolvimento

bknd: Backend leve e completo para desenvolvimento de aplicativos simplificado

2025-03-29
bknd: Backend leve e completo para desenvolvimento de aplicativos simplificado

O bknd simplifica o desenvolvimento de aplicativos fornecendo um backend totalmente funcional para gerenciamento de banco de dados, autenticação, mídia e fluxos de trabalho. Construído em padrões da web, é leve e pode ser implantado em quase qualquer lugar, incluindo dentro da sua estrutura de escolha. Sem mais implantação de vários serviços separados! Ele oferece uma API REST, SDK React e elementos React para componentes de autenticação e mídia, juntamente com uma interface de usuário de administrador fácil de usar. Embora ainda esteja em desenvolvimento ativo (pré-v1.0.0), a compatibilidade total com versões anteriores ainda não é garantida.

Desenvolvimento desenvolvimento backend

Windows 11 Insider Preview Build 26200.5516: Pesquisa semântica aprimorada e muito mais

2025-03-29
Windows 11 Insider Preview Build 26200.5516: Pesquisa semântica aprimorada e muito mais

A mais recente versão de prévia do Windows 11 Insider, Build 26200.5516, traz diversas melhorias para o canal Dev. O destaque é a pesquisa aprimorada do Windows para PCs Copilot+ com processadores AMD e Intel. Com a indexação semântica, os usuários agora podem pesquisar usando linguagem natural – como "ponte ao pôr do sol" – para encontrar documentos, fotos e configurações, mesmo offline. Também incluídos estão um novo recurso de recapitulação de fala do Narrador para revisar e copiar o conteúdo falado; uma interface de usuário aprimorada para reinicializações inesperadas; atalho de teclado Win+C e recurso de pressionar para falar para o Copilot; melhorias no Click to Do; e recursos aprimorados de compartilhamento do Windows. Vários problemas conhecidos estão programados para correções em atualizações futuras.

Extensão Grammarly quebra o layout do site com conflito de CSS

2025-03-29
Extensão Grammarly quebra o layout do site com conflito de CSS

Um construtor de sites descobriu que a extensão do navegador Grammarly estava quebrando o layout de seu site. O Grammarly injeta uma folha de estilo que substitui os estilos do próprio site, particularmente usando a mesma propriedade personalizada `--rem`, fazendo com que o sistema de tipografia fluida do site funcione mal. O autor corrigiu o problema usando um observador de mutações e a propriedade personalizada `--🤡`, e pediu ao Grammarly para melhorar o design de sua extensão para evitar conflitos com os estilos de outros sites.

Desenvolvimento conflito de CSS

Imersão Profunda: Rastreamento da Chamada de Sistema `write()` no OpenBSD

2025-03-29

Este artigo mergulha na implementação de baixo nível da chamada de sistema `write()` no OpenBSD. Começando com a chamada `write()` no espaço do usuário, ele rastreia a jornada dos dados pelo kernel, detalhando o caminho completo da chamada de sistema até os dados escritos em um disco rígido NVMe. O artigo revela uma cadeia de chamadas de funções do kernel, incluindo `mi_syscall`, `sys_write`, `dofilewritev`, `vn_write`, `ffs_write`, `uiomove`, `bdwrite`, `syncer`, `bwrite`, `ufs_strategy`, `spec_strategy`, `sdstrategy` e, finalmente, o driver NVMe. Ele ilustra a transformação e transmissão de dados em diferentes níveis de abstração, destacando detalhes técnicos importantes, como mecanismos de cache e transferências DMA.

Desenvolvimento Chamada de Sistema

Construindo um mecanismo de busca criptografado multiplataforma: Lidando com o armazenamento no navegador

2025-03-29
Construindo um mecanismo de busca criptografado multiplataforma: Lidando com o armazenamento no navegador

Este artigo aborda o primeiro obstáculo na construção de um mecanismo de busca criptografado multiplataforma: armazenamento de dados seguro e eficiente do lado do navegador. O autor compara LocalStorage, IndexedDB e a API do Sistema de Arquivos, escolhendo finalmente a API do Sistema de Arquivos por sua interface semelhante a um sistema de arquivos, melhor desempenho e consistência com outras plataformas. O artigo detalha o uso de Rust e web-sys para interagir com a API do Sistema de Arquivos e implementa uma camada de criptografia AES-GCM para segurança. Finalmente, um trait unificado `File` é criado para gerenciar arquivos criptografados e não criptografados.

Rastreando Alterações de Código com Git Hooks: Uma Abordagem Baseada em Dados para o Desenvolvimento

2025-03-29

Este artigo apresenta um método para rastrear o tempo de modificação de código usando hooks do Git para fornecer uma medida mais objetiva da eficiência do desenvolvimento. Ao registrar o tempo da criação do branch à sua mesclagem, excluindo o tempo de reflexão, ele oferece um reflexo mais claro do tempo de codificação real. Essa abordagem ajuda as equipes a identificar e resolver ineficiências na manutenção de código, como tempos de manutenção excessivamente longos para certos componentes, ou ganhos de eficiência com ferramentas de IA. O objetivo final é otimizar o processo de desenvolvimento, reduzir a entropia e aumentar a produtividade da equipe por meio de insights baseados em dados, em vez de estimativas subjetivas.

Desenvolvimento hooks do Git

Servidor de Linguagem Postgres: Uma Ferramenta SQL Poderosa para Desenvolvedores

2025-03-29
Servidor de Linguagem Postgres: Uma Ferramenta SQL Poderosa para Desenvolvedores

Este projeto oferece uma cadeia de ferramentas completa para desenvolvimento Postgres, construída sobre o analisador próprio do Postgres (libpg_query) para garantir 100% de compatibilidade de sintaxe. Usando uma arquitetura cliente-servidor com design independente de transporte, ele fornece acesso via LSP, CLI, APIs HTTP e WebAssembly. Os recursos atuais incluem autocompletar, realce de sintaxe, verificação de tipo (usando insights do EXPLAIN) e um linter. O desenvolvimento futuro se concentra em aprimorar esses recursos principais e construir uma infraestrutura robusta. Contribuições são bem-vindas!

Desenvolvimento

Além da OOP: A Evolução da Subtipagem em Linguagens de Programação

2025-03-29

Este artigo explora o papel crucial da subtipagem no design de linguagens de programação. O autor, com base em sua experiência no desenvolvimento de várias linguagens de programação, explica que a subtipagem não se limita à herança de classes na programação orientada a objetos, mas é um conceito muito mais fundamental: o tipo X é um subtipo do tipo Y se um valor do tipo X pode ser usado onde quer que um valor do tipo Y seja esperado. O artigo explica claramente por que a subtipagem é crucial mesmo em linguagens de baixo nível orientadas a desempenho, permitindo que o compilador verifique estaticamente valores nulos, aliasing e outros problemas, melhorando assim a confiabilidade do código e, por fim, impulsionando a evolução das linguagens de programação.

Máquina virtual BEAM do Elixir: Espera ocupada – Otimização ou desperdício de recursos?

2025-03-29

Testes comparativos entre Go, Elixir e Node.js revelaram que o Elixir (na VM BEAM) apresentava alto uso da CPU, apesar de excelente capacidade de resposta. O culpado? A espera ocupada, uma otimização do BEAM que maximiza a capacidade de resposta. Embora isso leve a uma utilização da CPU enganosa relatada pelo sistema operacional, habilitar a espera ocupada é benéfico para cargas de trabalho HTTP em hardware dedicado. No entanto, é recomendável desabilitá-la em sistemas que compartilham kernels com outros softwares ou instâncias de desempenho em nuvem, para evitar o impacto em outros processos. Os testes não mostraram diferença de desempenho com a espera ocupada desabilitada para solicitações HTTP.

Desenvolvimento Espera ocupada

arXivLabs: Projetos experimentais com colaboradores da comunidade

2025-03-29
arXivLabs: Projetos experimentais com colaboradores 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 adotaram 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

Testes sem Mocks: Uma Abordagem Inovadora para Testes Unitários

2025-03-29

Este artigo apresenta uma abordagem inovadora para testes unitários que elimina a necessidade de mocks e spies, resultando em testes rápidos, confiáveis e fáceis de manter. A ideia central envolve combinar testes baseados em estado com uma nova técnica de infraestrutura chamada "Nullables". Nullables não são stubs de teste; são códigos de produção com um interruptor "desligado", permitindo que os testes sejam executados sem depender de sistemas externos ou estado. Embora exija modificações no código de produção, essa abordagem evita muitas desvantagens dos métodos tradicionais, como testes instáveis e refatoração difícil, e oferece ganhos significativos de desempenho. O artigo explica detalhadamente os padrões e técnicas envolvidos, incluindo Narrow Tests, State-Based Tests e Overlapping Sociable Tests, fornecendo vários exemplos de código e casos de uso diversos, tornando-o ideal para desenvolvedores aprenderem e implementarem.

Desenvolvimento

Como auto-hospedar um servidor TURN de código aberto quase gratuito na nuvem Oracle

2025-03-28
Como auto-hospedar um servidor TURN de código aberto quase gratuito na nuvem Oracle

Este guia detalha como configurar um servidor TURN de código aberto quase gratuito na camada gratuita do Oracle Cloud, oferecendo uma alternativa às implementações WebRTC que dependem de serviços de terceiros. Ele percorre a criação de sub-redes, listas de segurança, configurações de instâncias, instalação do Nginx, Certbot, de um servidor PeerJS e de um servidor Coturn. O guia abrange a configuração de regras iptables e o uso do coturn-credential-api para autenticação, fornecendo controle completo sobre a comunicação WebRTC e melhorando a privacidade e a segurança, evitando a dependência de provedores grandes como o Google.

Desenvolvimento servidor TURN nuvem Oracle

Swiftly 1.0: Simplificando o Gerenciamento do Toolchain do Swift

2025-03-28
Swiftly 1.0: Simplificando o Gerenciamento do Toolchain do Swift

O Swiftly 1.0 foi lançado oficialmente! Este gerenciador de versões do Swift simplifica a instalação, gerenciamento e atualização da sua ferramenta Swift. Suporta macOS e várias distribuições Linux, permitindo que os desenvolvedores instalem facilmente diferentes versões do Swift e usem o Swift fora do Xcode. Escrito em Swift e com atualização automática, o Swiftly suporta lançamentos estáveis, instantâneos noturnos e versões mais antigas, permitindo a troca fácil entre eles. Um arquivo `.swift-version` facilita a consistência da versão em toda a equipe. O Swiftly torna o desenvolvimento Swift mais conveniente e eficiente.

Desenvolvimento Gerenciamento de Versões

Multiplicação de Matrizes FP32 otimizada em GPU AMD RDNA3: Superando o rocBLAS em 60%

2025-03-28
Multiplicação de Matrizes FP32 otimizada em GPU AMD RDNA3: Superando o rocBLAS em 60%

Este artigo descreve a jornada de otimização para criar um kernel de multiplicação de matrizes FP32 para GPUs AMD RDNA3 que supera o rocBLAS em 60%. O autor refina iterativamente oito kernels, começando com uma implementação ingênua e progredindo para otimizações em nível de ISA. As técnicas incluem tiling LDS, tiling de registradores, double buffering de memória global, otimização da utilização do LDS e, por fim, otimização da utilização do VALU em nível de ISA e desdobramento de loops. O kernel final supera o rocBLAS, atingindo quase 50 TFLOPS.

Desenvolvimento multiplicação de matrizes

Fundação FreeBSD fornece laptops Framework para melhorar a experiência do usuário

2025-03-28

A Fundação FreeBSD forneceu laptops Framework a desenvolvedores para melhorar a experiência do FreeBSD em laptops. Um desenvolvedor documentou sua jornada de instalação e configuração do FreeBSD 14.2, incluindo a instalação do sistema operacional, configuração de drivers gráficos e desafios encontrados, como a instalação da moldura da tela e problemas de compatibilidade com a área de trabalho Wayland. Embora executar o KDE Plasma 6 no Wayland tenha apresentado obstáculos, isso fornece informações valiosas para melhorar a experiência de desktop do FreeBSD.

Desenvolvimento Laptop Framework

SignalBot: Segurança, Recursos e Uso Gratuito

2025-03-28

O SignalBot, um bot de notificação gratuito baseado no Signal, utiliza fortes medidas de segurança e não armazena mensagens ou metadados; no entanto, o uso de dados confidenciais é desencorajado. Ele oferece uma API webhook genérica que suporta texto simples e emojis (com suporte a Markdown em breve) para notificações individuais ou em grupo. Precisa de formatos de notificação personalizados ou integrações específicas? Entre em contato com o desenvolvedor!

Hexi: Uma biblioteca C++23 leve para manipulação segura de dados binários

2025-03-28
Hexi: Uma biblioteca C++23 leve para manipulação segura de dados binários

Hexi é uma biblioteca C++23 leve e somente com cabeçalho para lidar com segurança com dados binários de fontes arbitrárias (principalmente dados de rede). Ela fica em algum lugar entre copiar bytes manualmente de buffers de rede e bibliotecas de serialização completas. Projetada para facilidade de uso, segurança ao lidar com dados não confiáveis, flexibilidade e sobrecarga mínima, Hexi suporta contêineres personalizados (incluindo contêineres não contíguos), tratamento de exceções e verificação de limites. Recursos adicionais incluem tipos de buffer para arquivos binários, buffers estáticos/dinâmicos e um alocador de bloco de thread local.

Desenvolvimento Dados Binários

Analisando gargalos de E/S de disco em pipelines de CI do GitHub

2025-03-28
Analisando gargalos de E/S de disco em pipelines de CI do GitHub

Este artigo investiga gargalos de E/S de disco frequentemente ignorados em pipelines de CI do GitHub. Usando ferramentas como iostat e fio, o autor monitora e testa o desempenho do disco em diferentes runners, descobrindo limitações de largura de banda no runner ubuntu-22.04 padrão que prejudicam a instalação de dependências. A análise aprofunda o impacto do download de cache, extração e vários arquivos pequenos na E/S de disco. O artigo recomenda o uso do fio para benchmarking e comparação do desempenho do disco do runner, destacando finalmente o próximo Ultra Runner da Depot, prometendo melhorias significativas no desempenho de E/S de disco.

Desenvolvimento E/S de disco

Xee: Um Motor de Execução XML Moderno em Rust

2025-03-28

O autor passou dois anos desenvolvendo o Xee, um motor de execução XML implementado em Rust, com suporte para XPath e XSLT modernos. Mais do que apenas uma biblioteca, o Xee é uma implementação completa de linguagem de programação, com uma ferramenta de linha de comando e uma biblioteca Rust, visando revitalizar a tecnologia XML envelhecida. O artigo detalha a arquitetura, a implementação do Xee e a história e o estado atual do XML, com um chamado à ação para desenvolvedores contribuírem.

Desenvolvimento

Criando executáveis Go estaticamente vinculados com CGO e Zig

2025-03-28

Este artigo mostra como criar um executável Go estaticamente vinculado que utiliza dependências CGO por meio do Zig. O autor cria uma biblioteca estática Zig e, em seguida, escreve um programa Go simples para chamar uma função dentro dela. Usando flags específicas do `go build` e o sistema de build do Zig, um executável estaticamente vinculado, livre de dependências de bibliotecas dinâmicas, é criado com sucesso, melhorando a portabilidade e a segurança.

Desenvolvimento ligação estática

Construindo Node.js com clang-cl no Windows: Uma História de Sucesso

2025-03-28

O autor recentemente construiu com sucesso o Node.js usando clang-cl no Windows, superando vários obstáculos de compilação. A postagem detalha o processo, incluindo a instalação dos componentes necessários do Visual Studio (compilador C++ Clang e suporte MSBuild para LLVM), a configuração do ccache para compilações mais rápidas e as etapas finais de compilação. O autor compartilha dicas de solução de problemas, como reinstalar os componentes do Visual Studio e configurar corretamente o caminho do ccache. Isso fornece um guia valioso para usuários do Windows que desejam construir o Node.js com clang-cl, oferecendo uma alternativa ao processo de construção tradicional do MSVC.

Desenvolvimento

Decompondo Fatoriais em Fatores Grandes: Progresso em uma Conjectura Antiga

2025-03-28
Decompondo Fatoriais em Fatores Grandes: Progresso em uma Conjectura Antiga

Um novo artigo estuda o problema de fatorar um fatorial em fatores o maior possível. Erdős e outros propuseram uma conjectura sobre isso, mas a prova foi perdida. Este artigo, usando aplicações inteligentes do teorema do número primo e fatoração aproximada, fornece novos limites superior e inferior, resolvendo parcialmente este problema de longa data e oferecendo novas vias para resolver completamente as conjecturas restantes.

Desenvolvimento combinatória
1 2 126 127 128 130 132 133 134 214 215