Category: Desenvolvimento

Codeberg: Hospedagem Git sem fins lucrativos que defende o código aberto

2025-02-04
Codeberg: Hospedagem Git sem fins lucrativos que defende o código aberto

Codeberg, uma organização sem fins lucrativos com sede em Berlim, Alemanha, opera uma plataforma de hospedagem Git que prioriza os recursos comuns. Ao contrário das plataformas comerciais, o Codeberg rejeita o rastreamento, cookies de terceiros e lucros. Ele mantém seus próprios servidores, garantindo que os dados do usuário permaneçam seguros e nunca sejam vendidos. Sua comunidade vibrante é composta por desenvolvedores, artistas, acadêmicos, amadores e profissionais unidos pela paixão por cultura livre, abertura e criatividade. O futuro do Codeberg depende de seus usuários e acolhe a participação global.

Desenvolvimento

Links de Download de Extensões do VSCode Quebrados

2025-02-04
Links de Download de Extensões do VSCode Quebrados

Os links de download para extensões no marketplace do VSCode estão quebrados. As novas instruções de instalação orientam os usuários a baixar versões apropriadas para o sistema operacional a partir de um link de 'Histórico de Versões', mas esse link está ausente. O link de download anterior na barra lateral também foi removido, impedindo que os usuários baixem extensões. Isso afeta todos os sistemas operacionais e navegadores.

Desenvolvimento Extensões Links de Download

Projetos de código aberto enfrentam crise de financiamento: Freedesktop.org e Alpine Linux procuram novos lares

2025-02-04
Projetos de código aberto enfrentam crise de financiamento: Freedesktop.org e Alpine Linux procuram novos lares

Freedesktop.org e Alpine Linux, dois projetos de código aberto cruciais, estão enfrentando desafios de realocação de servidores devido à falta de financiamento. Depois de esgotar os créditos de código aberto do Google Cloud Platform, o Freedesktop.org agora está se apressando para sair do Equinix, e seu líder propõe um novo plano: o Freedesktop.org paga por seus próprios servidores e busca patrocinadores. O Alpine Linux, amplamente utilizado em contêineres e dispositivos embarcados, consome 800 TB de largura de banda por mês e precisa de novos servidores e ambientes de integração contínua. Atualmente, está procurando servidores perto da Holanda. Ambos os projetos destacam a discrepância entre sua importância e o financiamento, incentivando mais indivíduos e organizações a apoiar o desenvolvimento sustentável de projetos de código aberto.

Desenvolvimento

Cline: Um Assistente de Codificação de IA que Muda o Jogo para Engenharia Séria

2025-02-04
Cline: Um Assistente de Codificação de IA que Muda o Jogo para Engenharia Séria

O mercado de assistentes de codificação de IA está repleto de ferramentas, mas o Cline, um plugin gratuito do VSCode, se destaca por sua integração em nível de sistema e flexibilidade de modelo. Ao contrário de ferramentas focadas na geração de código, o Cline interage com todo o seu ambiente de desenvolvimento, sendo excelente para depuração complexa, refatoração e testes. Ele suporta vários modelos (Anthropic, OpenAI, Google Gemini, etc.), possui gerenciamento de contexto inteligente, rastreamento de custos em tempo real e um sistema robusto de checkpoints. Seu modo exclusivo 'Planejar/Agir' e o Protocolo de Contexto de Modelo (MCP) aumentam a eficiência e a extensibilidade, tornando-o ideal para sistemas complexos e grandes bases de código. Embora existam limitações, a integração em nível de sistema do Cline, a flexibilidade do modelo e o respeito aos princípios de engenharia o tornam uma ferramenta poderosa para trabalhos de desenvolvimento sérios.

Biblioteca de malha de LOD contínua: nv_cluster_lod_builder

2025-02-04
Biblioteca de malha de LOD contínua: nv_cluster_lod_builder

nv_cluster_lod_builder é uma biblioteca de malha de nível de detalhe contínuo (LOD) que oferece controle granular sobre detalhes geométricos. Ela pré-calcula clusters de triângulos, selecionando um subconjunto em tempo de renderização para detalhe adaptativo baseado na posição da câmera. Isso resulta em renderização mais rápida e uso reduzido de memória em comparação com LOD discreto, especialmente benéfico para ray tracing. Uma estratégia de decimação única garante transições suaves de LOD sem lacunas ou sobreposições. Uma hierarquia espacial acelera a seleção de clusters, e o streaming de geometria minimiza ainda mais o consumo de memória.

OWASP Top 10 de Identidades Não Humanas - 2025: Riscos Críticos

2025-02-04

O OWASP Top 10 de Identidades Não Humanas (NHI) - 2025 destaca os dez maiores riscos associados ao uso de identidades não humanas (como bots e ferramentas automatizadas) no desenvolvimento de aplicativos. Compilado usando dados de violações do mundo real, pesquisas e a Metodologia de Classificação de Risco OWASP, esta lista ajuda os desenvolvedores a entender e mitigar ameaças de segurança significativas apresentadas por NHIs, que são cada vez mais vitais para pipelines de desenvolvimento modernos. Contribuições para melhorar o projeto são bem-vindas.

Desenvolvimento Identidade Não Humana

OWASP Apresenta os 10 Riscos Principais de Identidades Não Humanas (NHI) para 2025

2025-02-04
OWASP Apresenta os 10 Riscos Principais de Identidades Não Humanas (NHI) para 2025

A OWASP lançou sua lista dos 10 principais riscos de segurança de Identidades Não Humanas (NHIs) para 2025, destacando vulnerabilidades relacionadas a contas de serviço, chaves API e outros atores não humanos. Esses riscos incluem vazamento de segredos, privilégios excessivos, autenticação insegura e isolamento de ambiente insuficiente, representando ameaças significativas à segurança do desenvolvimento e implantação de software. O relatório enfatiza estratégias de mitigação e apela para a colaboração entre desenvolvedores e profissionais de segurança para fortalecer as práticas de segurança.

Desenvolvimento Identidades Não Humanas

Drivers Rust encontram obstáculo no subsistema DMA do kernel Linux

2025-02-04

Os esforços do kernel Linux para integrar a linguagem Rust no desenvolvimento de drivers de dispositivo estão encontrando resistência no subsistema DMA (Acesso Direto à Memória). Drivers Rust precisam interagir com a camada de mapeamento DMA do kernel, exigindo um conjunto de abstrações. No entanto, o mantenedor principal Christoph Hellwig se opõe à adição de código Rust em `kernel/dma`, citando aumento da complexidade de manutenção. Embora os desenvolvedores Rust tenham proposto manter essas abstrações separadamente, Hellwig permanece não convencido. Esse impasse destaca os desafios na integração do Rust no kernel, com seu futuro dependendo da decisão da comunidade do kernel e da adaptação dos mantenedores principais a um ambiente de programação multilíngue.

Desenvolvimento

Escapando de contas surpresa e sistemas superengenheirados da AWS: Minha migração para NearlyFreeSpeech

2025-02-04
Escapando de contas surpresa e sistemas superengenheirados da AWS: Minha migração para NearlyFreeSpeech

Cansado dos custos imprevisíveis e sistemas excessivamente complexos da AWS, o autor migrou para o NearlyFreeSpeech (NFS). O modelo de pré-pagamento do NFS lhe deu controle total sobre os custos, e seu painel simples facilitou a gestão de vários projetos. O artigo detalha a migração de nove aplicativos para o NFS, incluindo aqueles que usam Next.js, React, Express e outras stacks de tecnologia, compartilhando os desafios e soluções encontrados. Embora um aplicativo Python Flask tenha se mostrado mais complexo de migrar, o autor atribui isso às dependências do aplicativo, não ao NFS. Em última análise, o autor alcançou custos mais baixos e maior tranquilidade com o NFS, recomendando-o a outros desenvolvedores.

Limpador de LaTeX para arXiv: Prepare seu artigo com facilidade

2025-02-04
Limpador de LaTeX para arXiv: Prepare seu artigo com facilidade

Cansado de limpar seu código LaTeX para submissão ao arXiv? O `arxiv-latex-cleaner` do Google Research facilita! Esta ferramenta remove automaticamente arquivos auxiliares, comentários, código e imagens não utilizados, redimensiona imagens, compacta PDFs e garante que seu artigo atenda aos limites de tamanho do arXiv. Ele suporta regras de substituição de expressões regulares personalizadas e lida com a externalização de imagens TikZ. Prepare seu artigo para submissão em apenas algumas etapas!

Desenvolvimento limpeza de código

Rust Sem Pânico: O Rust Pode Substituir C na Programação de Sistemas de Baixo Nível?

2025-02-03

Este artigo explora a viabilidade de usar Rust para substituir C na programação de sistemas de baixo nível, focando especificamente em uma biblioteca Protocol Buffers chamada upb. O autor inicialmente duvidava da capacidade do Rust de igualar o C em desempenho e tamanho de código, mas descobriu uma técnica chamada "Rust Sem Pânico". Isso envolve evitar o uso de `panic!()`. O artigo aprofunda os princípios, vantagens e desafios do Rust Sem Pânico, incluindo tamanho de código, saídas irrecuperáveis e sobrecarga de tempo de execução. Ele demonstra como escrever código Rust Sem Pânico usando técnicas como a utilização da biblioteca libc, opções de otimização e `std::hint::assert_unchecked`, enfatizando a retenção de verificações de estouro no modo de depuração para verificações de consistência extras. Embora esta técnica exija trabalho meticuloso e possa necessitar de evitar a maior parte da biblioteca padrão, promete oferecer o desempenho e o tamanho de código de uma biblioteca C mantendo as garantias de segurança do Rust.

Desenvolvimento

Mailspring: Um cliente de email de código aberto mais rápido e leve

2025-02-03
Mailspring: Um cliente de email de código aberto mais rápido e leve

Mailspring é uma nova versão do Nylas Mail mantida por um dos autores originais. É mais rápido, mais leve e já está disponível! Ele substitui o código de sincronização JavaScript do Nylas Mail por um novo mecanismo de sincronização C++ baseado no Mailcore2. Usa aproximadamente metade da RAM e da CPU do Nylas Mail e fica inativo com quase zero "ativações da CPU", o que resulta em ótima duração da bateria. Ele também possui um compositor totalmente reformulado e outros novos recursos excelentes. A IU do Mailspring é de código aberto (GPLv3) e escrita em TypeScript com Electron e React - é construída em uma arquitetura de plug-ins e foi projetada para ser fácil de estender. O mecanismo de sincronização do Mailspring é gerado pelo aplicativo Electron e executa localmente em seu computador. É de código aberto (GPLv3) e escrito em C++ e C. No entanto, para sua conveniência, ao configurar seu ambiente de desenvolvimento, o Mailspring usa a versão mais recente do mecanismo de sincronização que enviamos para sua plataforma, para que você não precise extrair fontes ou instalar suas dependências de tempo de compilação.

Build do Windows 11 Insider recebe botão Copilot no Paint

2025-02-03
Build do Windows 11 Insider recebe botão Copilot no Paint

Uma nova versão do Windows 11 Insider (26120.3073) introduz um botão Copilot no Microsoft Paint, simplificando o acesso a recursos de IA generativa como Cocreator, Image Creator, Generative Erase e Remove Background. Esses recursos já existiam, mas o botão melhora o fluxo de trabalho. A atualização também inclui pesquisa de fotos na nuvem (somente para PCs Copilot+) e correções de bugs para a barra de tarefas, bandeja do sistema e explorador de arquivos. Esta é uma prévia para Insiders; a disponibilidade para a versão estável do Windows 11 não foi anunciada.

Desenvolvimento

Meu sobrenome é 'Null', e está quebrando a internet

2025-02-03
Meu sobrenome é 'Null', e está quebrando a internet

O sobrenome do autor é "Null", uma palavra reservada em muitas linguagens de programação. Esse detalhe aparentemente inócuo causa problemas significativos, desde falhas no envio de formulários em sites até rejeição de endereços de e-mail. Mesmo quando os sistemas aceitam "Null", surgem erros inesperados. Soluções alternativas, como adicionar um ponto ou usar aliases, são consertos temporários. Essa história humorística destaca problemas comuns de desenvolvimento de software e a impotência de grandes empresas em lidar com eles eficazmente. As lutas do autor com o sistema de e-mail do Bank of America, que falha consistentemente em lidar com seu nome, servem como um excelente exemplo.

Desenvolvimento

SCQA: Uma estrutura para histórias cativantes

2025-02-03
SCQA: Uma estrutura para histórias cativantes

SCQA é uma estrutura para organizar informações usando Situação, Complicação, Pergunta e Resposta para criar narrativas claras e envolventes. O artigo usa a gamificação na fisioterapia como exemplo, mostrando como o SCQA transforma um processo monótono em uma história cativante, melhorando o engajamento do paciente. Aplicável em vários campos - negócios, políticas, ciência - e mídias - e-mails, apresentações, livros, blogs - o SCQA aprimora a comunicação e a clareza.

Extensão do 10º Problema de Hilbert: Inde-cibilidade Provada para Anéis Mais Amplos

2025-02-03
Extensão do 10º Problema de Hilbert: Inde-cibilidade Provada para Anéis Mais Amplos

Matemáticos resolveram uma extensão importante do 10º Problema de Hilbert, provando que determinar se equações diofantinas têm soluções é indecidível para uma vasta classe de anéis numéricos. Baseando-se na prova de Yuri Matiyasevich de 1970 para soluções inteiras, o trabalho utiliza curvas elípticas e torções quadráticas para superar as limitações de abordagens anteriores com soluções não inteiras. Essa descoberta não apenas aprofunda nossa compreensão dos limites da computabilidade, mas também fornece novas ferramentas para a pesquisa matemática.

Benchmarking de Recuperação de Código: Desafios e Abordagem da Voyage AI

2025-02-03
Benchmarking de Recuperação de Código: Desafios e Abordagem da Voyage AI

Assistentes de codificação modernos dependem muito da recuperação de código, mas os métodos de avaliação existentes são insuficientes. A pesquisa da Voyage AI destaca problemas com conjuntos de dados atuais, incluindo rótulos ruidosos, falta de avaliação de raciocínio algorítmico profundo e contaminação de dados, levando a avaliações de modelos não confiáveis. Para resolver isso, a Voyage AI propõe dois métodos para criar conjuntos de dados de recuperação de código de alta qualidade: reaproveitar conjuntos de dados de perguntas e respostas e aproveitar repositórios e problemas/solicitações do GitHub. A Voyage AI também construiu seu próprio conjunto de testes de referência interno, abrangendo várias linguagens de programação, vários conjuntos de dados de perguntas e respostas e benchmarks específicos de domínio, avaliando vários modelos de incorporação de código. O Voyage-code-3 surgiu como o modelo de melhor desempenho.

Sabedoria de um Desenvolvedor Sênior: Evitando Reescrever e Codificação Eficiente

2025-02-03

Um desenvolvedor sênior compartilha sua filosofia de desenvolvimento de software, enfatizando as armadilhas de reescrever o código do zero. Ele destaca que, quando uma reescrita parece atraente, erros evitáveis ​​já foram cometidos, como o acúmulo de dívida técnica e o aumento da complexidade do código. O conselho inclui alternar entre fases de expansão (novos recursos) e consolidação, orçar tempo suficiente para polimento e testes e automatizar as melhores práticas. A importância de considerar casos de borda e dados patológicos é enfatizada, juntamente com a escrita de código testável cuja correção é óbvia.

Desenvolvimento

Crate `time` do Rust recebe aumento de velocidade de 57,5% com algoritmo reescrito

2025-02-03

Após cinco anos mantendo o crate `time` do Rust, o autor empreendeu uma otimização de desempenho significativa. Ao redesenhar o algoritmo `Date::to_calendar_date`, utilizando funções afins euclidianas e aritmética de inteiros inteligente, o autor evitou operações de ponto flutuante e ramificações, resultando em uma melhoria de desempenho de 57,5%. O novo algoritmo é significativamente mais rápido não apenas ao calcular a data e o mês juntos, mas também ao calculá-los separadamente. Essa foi uma tarefa não trivial, mas o autor acredita que os ganhos de desempenho valem o esforço.

Desenvolvimento

httptap: Monitore solicitações HTTP/HTTPS no Linux

2025-02-03
httptap: Monitore solicitações HTTP/HTTPS no Linux

O httptap é uma ferramenta de linha de comando para Linux que monitora solicitações HTTP e HTTPS feitas por qualquer programa sem exigir privilégios de root. Ele consegue isso executando o programa de destino em um namespace de rede isolado e interceptando seu tráfego de rede. Escrito em Go, o httptap é independente e facilmente executável. Ele exibe informações detalhadas da solicitação, incluindo URLs, códigos de status HTTP, corpos de solicitação e corpos de resposta, e suporta a exportação de dados para arquivos HAR. O httptap também suporta DoH (DNS via HTTPS) e trata redirecionamentos HTTP.

Desenvolvimento

Acelere o desempenho de gravação em HDD com o dm-writecache do Linux

2025-02-03
Acelere o desempenho de gravação em HDD com o dm-writecache do Linux

Este artigo mergulha no módulo do kernel do Linux dm-writecache, que utiliza um SSD NVMe como um cache de gravação para HDDs mais lentos, melhorando drasticamente o desempenho de gravação aleatória. O autor demonstra um aumento de velocidade de dezenas de vezes por meio de experimentos comparando velocidades de gravação aleatória com e sem dm-writecache. O artigo também abrange outros métodos e ferramentas de cache, como bcache e ReadyBoost, detalhando a configuração do dm-writecache usando LVM2 e a utilitário dmsetup para aqueles sem LVM2. Finalmente, ele resume os ganhos significativos de desempenho alcançados com o dm-writecache e sugere o uso do espaço NVMe restante para armazenar em cache outros dispositivos mais lentos.

Desenvolvimento

arXivLabs: Projetos Experimentais com Colaboradores da Comunidade

2025-02-03
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 Colaboração da Comunidade

Engenharia Reversa do Formato typedstream da Apple: Dentro do imessage-exporter

2025-02-03

Este artigo detalha o processo de engenharia reversa do protocolo de serialização binária proprietário da Apple, o typedstream, realizado pelo projeto imessage-exporter. O typedstream, usado para armazenar dados do iMessage, não é documentado e não faz parte das APIs públicas da Apple. Ao analisar os dados BLOB no banco de dados do iMessage, o autor identificou padrões no formato typedstream, como 0x84 marcando o início de um bloco de dados com o byte subsequente indicando o comprimento, e 0x86 sinalizando o fim de um bloco. Usando esses padrões, o autor conseguiu desserializar os dados typedstream, obtendo acesso multiplataforma aos dados do iMessage.

Desenvolvimento serialização binária

Decoradores JIT do Python: Três Estratégias de Implementação

2025-02-03

Este artigo aprofunda o popular padrão de decorador JIT em Python, particularmente seu uso nas bibliotecas JAX e Triton. O autor implementa três decoradores JIT do zero usando um exemplo simplificado: baseado em AST, baseado em bytecode e baseado em rastreamento. A abordagem baseada em AST manipula diretamente a Árvore de Sintaxe Abstrata; a abordagem baseada em bytecode alavanca o interpretador de bytecode do Python; e a abordagem baseada em rastreamento constrói um IR de expressão rastreando a execução da função em tempo de execução. O artigo detalha as vantagens e desvantagens de cada abordagem e usa JAX e Numba como exemplos para ilustrar suas estratégias em aplicações do mundo real.

Desenvolvimento

Construindo uma VM WebAssembly em C: Uma retrospectiva de um projeto paralelo de seis meses

2025-02-03

Ao longo de seis meses, o autor dedicou seu tempo livre à construção de uma máquina virtual WebAssembly em C, chamada Semblance. Este projeto quebrou o ciclo de projetos paralelos de curta duração e permitiu um mergulho profundo na especificação principal do WebAssembly. O artigo detalha a arquitetura, cobrindo a decodificação de módulos, resolução de importações, instanciação de módulos e execução de instruções. O autor compartilha desafios e aprendizados, culminando na execução bem-sucedida de um programa "Olá, Mundo!". Este projeto não apenas aprimorou as habilidades do autor, mas também forneceu uma base sólida para futuras contribuições para runtimes de nível industrial.

Desenvolvimento

Contenção de Thread Ruby: Não é uma Guerra

2025-02-03

Por muito tempo, eu entendi mal a "contenção de thread" em Ruby. Não é uma luta caótica; em vez disso, as threads Ruby fazem fila educadamente para o Global VM Lock (GVL). Cada thread recebe o GVL, executa o código e, em seguida, o libera ou é preemptado após um certo tempo (o quantum da thread, com padrão de 100 ms). Isso acontece quando uma thread executa I/O ou executa por mais tempo que seu quantum. Entender isso é crucial para otimizar aplicativos multithread, especialmente para evitar que threads vinculados à CPU bloqueiem threads vinculados a E/S, levando a um aumento na latência de cauda. Diminuir a prioridade das threads vinculadas à CPU ou reduzir o quantum da thread pode ajudar, mas o menor intervalo é de 10 ms.

Desenvolvimento

Canal do YouTube Excluído: Desenvolvedor Independente Atingido por Erro Algorítmico

2025-02-03
Canal do YouTube Excluído: Desenvolvedor Independente Atingido por Erro Algorítmico

O canal do YouTube do desenvolvedor independente Sinevibes foi excluído devido a supostas violações das "políticas de spam e enganosas". Sinevibes afirma que apenas postou demonstrações de seus próprios produtos originais e está perplexo com a exclusão. Este incidente destaca o impacto de erros de julgamento algorítmicos em criadores de conteúdo e inicia um debate sobre as práticas de moderação da plataforma.

Desenvolvimento

Google abandona o projeto Dart Macros: Foco é a chave

2025-02-03
Google abandona o projeto Dart Macros: Foco é a chave

A equipe do Google Dart anunciou o cancelamento do projeto Macros, que visava simplificar a escrita de código repetitivo em Flutter e Dart. Devido a metas de desempenho não atendidas e retorno insuficiente após anos de prototipagem, o Google está dividindo o Macros em recursos menores. O autor, ex-líder das equipes Flutter e Dart, conecta essa decisão à filosofia de Steve Jobs de dizer 'não' para abrir espaço para 'sim', enfatizando a importância do foco. Eles expressam otimismo para o futuro da equipe Dart.

Desenvolvimento

Desenvolvedores do Ubuntu migram para o Matrix para comunicação em tempo real

2025-02-03
Desenvolvedores do Ubuntu migram para o Matrix para comunicação em tempo real

A equipe de desenvolvimento do Ubuntu anunciou a mudança do IRC para o Matrix como sua principal plataforma de comunicação em tempo real, a partir de março de 2025. Essa mudança visa otimizar a comunicação, evitar fragmentação e atrair novos desenvolvedores. Embora o IRC ainda seja popular, seus recursos limitados são menos atraentes para colaboradores mais novos que preferem plataformas mais ricas como o Matrix, que oferece recursos como histórico de discussões, pesquisa e mensagens offline. Muitas equipes do Ubuntu e projetos de código aberto já usam o Matrix, tornando-o uma escolha natural. Isso afeta apenas a comunicação interna dos desenvolvedores; os usuários finais não são afetados.

Desenvolvimento

Execução Durável Leve: A Biblioteca de Código Aberto DBOS Transact

2025-02-03
Execução Durável Leve: A Biblioteca de Código Aberto DBOS Transact

A execução durável tradicional depende de orquestradores externos, como o AWS Step Functions, o que aumenta a complexidade do desenvolvimento e da implantação. O DBOS Transact é uma biblioteca de código aberto leve que integra a execução durável no próprio programa, eliminando a necessidade de orquestradores externos. Ele alcança a execução durável persistindo o estado de execução do programa em um banco de dados Postgres, permitindo a recuperação automática até o ponto de interrupção, mesmo que o programa trave ou reinicie. O DBOS Transact também oferece recursos adicionais, como suspensão durável, mensagens duráveis e filas duráveis, simplificando ainda mais o desenvolvimento de programas estáveis e com estado.

Desenvolvimento
1 2 159 160 161 163 165 166 167 203 204