Category: Desenvolvimento

arXivLabs: Experimentos com recursos do arXiv impulsionados pela comunidade

2025-03-15
arXivLabs: Experimentos com recursos do arXiv impulsionados pela comunidade

arXivLabs é uma estrutura que permite a colaboradores desenvolverem e compartilharem novos recursos do arXiv diretamente no site. Os participantes devem adotar os valores do arXiv de abertura, comunidade, excelência e privacidade de dados do usuário. Tem uma ideia para melhorar a comunidade do arXiv? Saiba mais sobre o arXivLabs.

Desenvolvimento

Bypass crítico de autenticação em ruby-saml

2025-03-15
Bypass crítico de autenticação em ruby-saml

Pesquisadores do GitHub Security Lab descobriram duas vulnerabilidades críticas de bypass de autenticação (CVE-2025-25291 e CVE-2025-25292) na biblioteca ruby-saml. Ataques podem usar uma única assinatura válida para falsificar afirmações SAML, permitindo a tomada de conta ao fazer login como qualquer usuário. A vulnerabilidade decorre do uso de dois analisadores XML diferentes (REXML e Nokogiri) pelo ruby-saml, criando uma diferença de analisador explorada por atacantes. A versão 1.18.0 corrige a vulnerabilidade; todos os usuários devem atualizar imediatamente.

Desenvolvimento

Um Algoritmo de Ladrilhamento de Poliominós de Oito Anos: Busca de Retrocesso com Heurísticas

2025-03-15

Este artigo detalha um algoritmo para resolver o problema de ladrilhamento de poliominós. A ideia central é transformar o problema geométrico em um problema de teoria dos grafos e usar um algoritmo de busca de retrocesso com várias heurísticas. Primeiro, o algoritmo pré-processa para calcular todas as possíveis colocações, construindo um grafo bipartido que representa todas as possibilidades. Em seguida, um algoritmo de busca de retrocesso encontra um subconjunto de colocações que satisfazem as condições, otimizado por heurísticas como priorizar pontos de grade restritos e dividir a grade. O algoritmo demonstra boa generalidade e robustez no manuseio de formas de grade arbitrárias e conjuntos de poliominós. O autor também discute limitações e melhorias futuras, como transformar o problema em um problema SAT para solução.

Desenvolvimento busca de retrocesso

Oito anos de e-mail auto-hospedado: Uma história de migração do Mail-in-a-Box

2025-03-15
Oito anos de e-mail auto-hospedado: Uma história de migração do Mail-in-a-Box

Este artigo relata oito anos de uso do Mail-in-a-Box (MiaB) para e-mail auto-hospedado, culminando em uma recente migração do Ubuntu 18.04 para o 22.04. Os desafios incluíram problemas persistentes de entrega com o Hotmail (resolvidos ao mudar de provedor de hospedagem) e conflitos de banco de dados durante uma atualização do Nextcloud (corrigidos manualmente). O autor detalha as complexidades da configuração do DNS e as estratégias de backup/recuperação de desastres empregadas durante a migração. A migração bem-sucedida destaca o compromisso do autor com a liberdade de software e a independência, destacando a aprendizagem e a persistência envolvidas em lidar com desafios técnicos.

MYGA: Faça o YouTube ser ótimo novamente

2025-03-15
MYGA: Faça o YouTube ser ótimo novamente

MYGA é um frontend YouTube limpo e minimalista, sem anúncios e recursos desnecessários. Utilizando yt-dlp para baixar vídeos e opcionalmente seu modelo de IA local para resumir o conteúdo do vídeo, ele oferece uma experiência YouTube local, eficiente, concisa e sem anúncios. Recursos incluem gerenciamento de canais, assinaturas, reprodução em segundo plano, reprodução offline e muito mais. É independente (exceto nano-spawn), usando apenas HTML/CSS; sem frameworks JS no cliente ou servidor. Hospede-o na sua rede doméstica para reprodução em todos os seus dispositivos.

Desenvolvimento

TypeScript recebe uma reescrita em Go: 8x mais rápido!

2025-03-15
TypeScript recebe uma reescrita em Go: 8x mais rápido!

A Microsoft está desenvolvendo uma implementação nativa do TypeScript usando a linguagem Go do Google. Isso promete melhorias dramáticas na velocidade de inicialização do editor, tempos de compilação e uso de memória, facilitando a escalabilidade do TypeScript para grandes bases de código. O plano envolve a portabilidade do compilador, ferramentas e base de código do TypeScript de JavaScript para Go. A Microsoft visa uma prévia do tsc de linha de comando baseado em Go em meados de 2025 e uma implementação completa do Go até o final do ano. Usuários do Visual Studio Code experimentarão um desempenho significativamente mais rápido do editor, incluindo uma melhoria de 8x nos tempos de carregamento do projeto e listagens abrangentes de erros instantâneas.

Desenvolvimento

Um Lema Chave na Prova do Teorema Fundamental da Teoria de Galois

2025-03-15

Esta postagem demonstra um lema chave usado na prova do Teorema Fundamental da Teoria de Galois (FTGT). O Lema 12.1 afirma: Se L/K é uma extensão de corpo, M é um corpo intermediário e τ é um K-automorfismo de L, então τM*τ⁻¹ = τ(M)*. A postagem usa um exemplo concreto (L = Q(√2, √3), K = Q, M = Q(√2)) para ilustrar o lema e fornece uma prova completa, mostrando tanto τM*τ⁻¹ ⊆ τ(M)* quanto τM*τ⁻¹ ⊇ τ(M)*. Isso é crucial para a compreensão da teoria de Galois.

Kanban do Leite: Princípios sobre Práticas no Ágil

2025-03-15

Este artigo usa o exemplo de um 'Kanban do Leite' de escritório para ilustrar a essência do método Kanban. O Kanban tradicional é frequentemente simplificado para gerenciamento de fluxo de trabalho com quadros brancos e notas adesivas, negligenciando seu núcleo – sinais visuais. O autor destaca que o 'Kanban do Leite' – uma nota anexada à última caixa de leite dizendo 'Leve para Kasia' – incorpora perfeitamente a essência do Kanban: usar o sinal visual mais simples para transmitir informações claramente (o leite está acabando, precisa ser reabastecido). Isso nos lembra que o design do sistema Kanban deve ser simples e claro, evitando a superengenharia e focando nos princípios básicos em vez de práticas específicas.

Programação Sketch: Um Paradigma Minimalista para Design de Código (Transpilador LLM)

2025-03-15
Programação Sketch: Um Paradigma Minimalista para Design de Código (Transpilador LLM)

A programação Sketch é uma abordagem revolucionária para o desenvolvimento de software que prioriza simplicidade, legibilidade e expressividade. Não é uma linguagem específica, mas um paradigma de metaprogramação que abstrai código repetitivo, reduz a sobrecarga cognitiva e permite que os desenvolvedores se concentrem na lógica principal. Pode ser implementado em qualquer linguagem, funciona em projetos de todos os tamanhos. A ideia principal é 'esboçar' a essência do programa com uma sintaxe mínima e intuitiva, deixando os detalhes para a linguagem subjacente. Usa uma sintaxe declarativa orientada a palavras-chave, enfatizando a legibilidade e a intenção, suportando iteração rápida e design independente de linguagem. Um exemplo mostra um componente React esboçado e depois transpilado para código React completo. Uma extensão para o VS Code também está em desenvolvimento.

Desenvolvimento Programação Sketch

Compromisso do GitHub Action: tj-actions/changed-files injetando código malicioso

2025-03-15
Compromisso do GitHub Action: tj-actions/changed-files injetando código malicioso

Um incidente de segurança crítico comprometeu a ação do GitHub tj-actions/changed-files, afetando mais de 23.000 repositórios. Os atacantes modificaram retroativamente várias tags de versão para apontar para um commit malicioso, expondo segredos de CI/CD em logs de compilação públicos. O StepSecurity Harden-Runner detectou essa anomalia. A ação comprometida executa um script Python malicioso que descarrega segredos do processo Runner Worker. É necessária ação imediata: pare de usar a ação afetada e revise os logs de compilação em busca de segredos vazados.

Desenvolvimento Código Malicioso

Melhore sua codificação: A vantagem da tela infinita

2025-03-15

Um desenvolvedor de jogos compartilha como o uso de uma tableta gráfica e do software Milton revolucionou seu processo de anotações. A tela infinita e os recursos de zoom do Milton permitem a visualização clara de algoritmos complexos. Mesmo quando dias se passam com código mínimo escrito, a revisão das anotações revela o processo de pensamento e o planejamento, mantendo o ímpeto. O autor defende o uso de tabletes gráficas, sugerindo que até mesmo os modelos básicos aumentam significativamente a eficiência.

Mudando do Cloudflare para o BunnyCDN: Uma Transição Suave

2025-03-15
Mudando do Cloudflare para o BunnyCDN: Uma Transição Suave

Preocupado com a recente instabilidade política nos EUA, migrei meu site do Cloudflare para a alternativa de CDN europeia, BunnyCDN. O processo inteiro foi surpreendentemente fácil e levou menos de duas horas. Criei zonas de armazenamento e zonas de pull, e alternei meu DNS de domínio para apontar para o BunnyCDN. Encontrei alguns obstáculos menores, como certificados HTTPS e implantações automatizadas, mas, no geral, o BunnyCDN é mais rápido, possui uma interface de usuário mais limpa e é mais barato. É uma ótima opção, embora não seja tão conveniente com um clique quanto o Cloudflare Pages.

Desenvolvimento migração de CDN

Noloco Contrata Designer Sênior de Produto para Construir sua Plataforma de Aplicativos Sem Código

2025-03-15
Noloco Contrata Designer Sênior de Produto para Construir sua Plataforma de Aplicativos Sem Código

A Noloco, uma empresa de rápido crescimento e remota, apoiada pela Y Combinator, está contratando um(a) Designer Sênior de Produto. Sua missão principal será estabelecer uma base de design sólida para a Noloco, tornando sua plataforma simples, poderosa e flexível para usuários não técnicos. Isso inclui definir o sistema de design, redesenhar a experiência móvel e ajudar a criar novos recursos de produto que permitem que as empresas criem softwares incríveis sem escrever código. Essa é uma função de alto impacto, onde seu trabalho influenciará diretamente o sucesso da Noloco, com oportunidades de crescimento à medida que a empresa escala.

Desenvolvimento Sem Código

arXivLabs: Projetos experimentais com colaboradores da comunidade

2025-03-15
arXivLabs: Projetos experimentais com colaboradores da comunidade

arXivLabs é uma estrutura que permite que colaboradores desenvolvam e compartilhem novos recursos do arXiv diretamente em nosso site. Indivíduos e organizações que trabalham com o arXivLabs abraçaram e aceitaram nossos valores 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 agregará valor à comunidade do arXiv? Saiba mais sobre o arXivLabs.

Desenvolvimento

Execute Python com bibliotecas diretamente no seu navegador

2025-03-15

Cansado de configurar ambientes Python e instalar bibliotecas? Nosso compilador Python online oferece acesso instantâneo a bibliotecas essenciais como pandas, NumPy, Matplotlib e requests, tudo no seu navegador. Ignore a complicação do `pip install` e simplesmente escreva e execute seu código Python. Perfeito para aprendizado, análise de dados e web scraping. Experimente nosso interpretador Python online gratuito hoje!

Desenvolvimento compilador Python online

eli: Uma jornada de 15 anos na interpretação de Lisp embutido

2025-03-15
eli: Uma jornada de 15 anos na interpretação de Lisp embutido

eli é o resultado de mais de 15 anos de design e implementação de interpretadores Lisp embutidos em várias linguagens. Nascido da necessidade de um Lisp embutido para projetos pessoais, tornou-se um dos empreendimentos mais significativos do autor. Principalmente implementado em Java, com esforços contínuos para integrá-lo ao Common Lisp, eli demonstra desempenho comparável ao Python em certos benchmarks. O projeto possui um sistema de tipos único que abrange bits, tipos chamáveis, tipos comparáveis, tipos contáveis, caracteres, números de ponto flutuante, inteiros, iteradores, iteráveis, bibliotecas, listas, mapas, tipos de tipos, tipos de métodos, valores ausentes, tipos numéricos, pares, strings, identificadores, durações e pontos no tempo. Ele oferece um conjunto rico de recursos, incluindo condicionais, loops, macros, vinculação de variáveis, verificação de tipos, definição de métodos, sobrecarga, lambdas e gerenciamento de namespace/módulo.

Desenvolvimento Sistemas Embutidos

RubyLLM: Uma biblioteca Ruby elegante para interação com IA

2025-03-15
RubyLLM: Uma biblioteca Ruby elegante para interação com IA

RubyLLM é uma biblioteca Ruby limpa e fácil de usar que simplifica a interação com vários modelos de IA, incluindo OpenAI, Anthropic, Gemini e DeepSeek. Ela fornece uma API unificada e um formato de dados consistente, eliminando as dores de cabeça de lidar com APIs incompatíveis de diferentes fornecedores de IA. RubyLLM suporta uma ampla gama de funcionalidades de IA, como bate-papo, análise de imagens e áudio, processamento de PDFs, geração de imagens, embeddings vetoriais e integração de ferramentas personalizadas. A integração perfeita com o Rails permite a persistência fácil do histórico de bate-papo. Sua filosofia de design prioriza código Ruby elegante em vez de configurações e callbacks complexos, tornando a interação com IA uma alegria.

Desenvolvimento

O Legado do Neovim: Um Mergulho Profundo na Evolução dos Editores de Texto Unix

2025-03-15
O Legado do Neovim: Um Mergulho Profundo na Evolução dos Editores de Texto Unix

Este artigo traça a história do editor Neovim, começando com seu ancestral, o editor ed, e detalhando a evolução de editores como QED, ex, vi e Vim. Ele mergulha nos desenvolvedores por trás de cada editor e seu papel no desenvolvimento do sistema operacional Unix. O Neovim, como um fork moderno do Vim, herda os recursos poderosos do Vim, ao mesmo tempo que incorpora melhorias e otimizações, tornando-se um favorito entre muitos desenvolvedores.

Desenvolvimento História do Editor

Bloco de Notas com Resumos Baseados em IA: Microsoft Testa Novo Recurso

2025-03-14
Bloco de Notas com Resumos Baseados em IA: Microsoft Testa Novo Recurso

A Microsoft está testando resumos baseados em IA no Bloco de Notas para Insiders do Windows. Os usuários podem destacar texto, clicar com o botão direito e selecionar 'Resumir' para gerar um resumo. Alternativamente, Ctrl+M ou o menu Copilot podem ser usados. Uma conta da Microsoft é necessária, e os recursos de IA podem ser desativados nas configurações. Além disso, a Microsoft está testando a exibição de arquivos fechados recentemente no Bloco de Notas e um recurso 'desenhar e segurar' na Ferramenta de Recorte para o alinhamento automático de linhas.

Desenvolvimento

Decriptografia de Ransomware sem Pagamento: Uma Corrida Contra o Tempo

2025-03-14
Decriptografia de Ransomware sem Pagamento: Uma Corrida Contra o Tempo

O autor ajudou com sucesso uma empresa a recuperar seus dados do ransomware Akira sem pagar o resgate, e disponibilizou o código-fonte completo. O ransomware usa quatro timestamps de nanossegundos como sementes para gerar chaves de criptografia. Ao analisar o algoritmo de criptografia do ransomware e os timestamps do sistema de arquivos, o autor elaborou uma solução de força bruta acelerada por GPU. Isso envolveu enumerar combinações de timestamps, gerar chaves e tentar descriptografar texto simples conhecido. O processo foi desafiador, exigindo engenharia reversa, otimização de programação CUDA e recursos de computação em nuvem. O autor compartilha detalhes técnicos e código, fornecendo um recurso valioso para recuperação de dados em situações semelhantes.

Desenvolvimento

Novo Benchmark Expõe o Gargalo de Automação em OCR: Alcançando 98% de Precisão

2025-03-14

O influxo de novos players de OCR, como Mistral e as ofertas de Andrew Ng, dificulta para as empresas distinguirem avanços genuínos de exageros. Benchmarks existentes focam na precisão de OCR e na extração de informações, negligenciando os níveis de automação. A Nanonets introduz um novo benchmark enfatizando a automação com 98% de precisão. Usando um conjunto de dados de 1000 imagens e 16.639 pontos de dados anotados, eles medem o desempenho do modelo com base em pontuações de confiança – a proporção de dados processados com precisão sem intervenção humana. Embora os LLMs se destaquem na precisão geral, pontuações de confiança confiáveis ​​permanecem evasivas. O Gemini 2.0 Flash atingiu 98% de precisão, mas automatizou apenas 8% dos dados. Este benchmark visa ajudar as empresas a encontrar soluções que realmente reduzam o esforço manual no processamento de documentos.

Desenvolvimento

Linguagem Exo: Guia de Instalação, Desenvolvimento e Teste

2025-03-14
Linguagem Exo: Guia de Instalação, Desenvolvimento e Teste

Exo é uma linguagem de programação que suporta Python 3.9 e superior. A instalação é simples, usando o pip. Arquivos Exo são executados diretamente com Python, e arquivos C/cabeçalho são gerados pelo comando exocc. O desenvolvimento envolve configurar um ambiente virtual e instalar dependências, incluindo PySMT e CMake. Testes exigem z3-solver (ou outro solver) e CMake 3.21 ou posterior. Os testes cobrem vários cenários e suportam testes de cobertura de código. Mais informações e exemplos estão disponíveis no repositório do projeto.

Desenvolvimento

Sharding do PostgreSQL: Uma história emocionante de escalabilidade 6x

2025-03-14
Sharding do PostgreSQL: Uma história emocionante de escalabilidade 6x

Uma empresa enfrentou um desafio com a capacidade de escrita do PostgreSQL, lidando com 100.000 usuários por segundo. Em vez de migrar para NoSQL, a equipe de engenharia optou por fragmentar seu banco de dados. Eles dividiram o banco de dados em 6 instâncias, sincronizando dados com replicação lógica. Isso envolveu escrever código Ruby e Python para lidar com chaves de fragmentação e ferramentas personalizadas para resolver problemas de sequência. A expansão bem-sucedida de 6x resultou na criação do PgDog, um projeto de código aberto para fragmentação automatizada do PostgreSQL. Esta história destaca a engenhosidade e a determinação dos engenheiros e a escalabilidade do PostgreSQL.

Desenvolvimento sharding de banco de dados

Briar: Aplicativo de mensagens descentralizado para ativistas e jornalistas

2025-03-14

Briar é um aplicativo de mensagens projetado para ativistas, jornalistas e qualquer pessoa que precise de uma maneira segura, fácil e robusta de se comunicar. Diferente de aplicativos de mensagens tradicionais, o Briar não depende de um servidor central; as mensagens são sincronizadas diretamente entre os dispositivos dos usuários. Offline, ele usa Bluetooth, Wi-Fi ou cartões de memória. Online, ele usa a rede Tor para maior privacidade. O Briar resiste à vigilância e à censura usando criptografia ponta a ponta e uma arquitetura descentralizada. Ele oferece mensagens privadas, fóruns públicos e blogs, protegendo contra vigilância de metadados, filtragem de conteúdo, ordens de retirada e ataques de negação de serviço. A visão de longo prazo do Briar vai além das mensagens, buscando apoiar aplicativos distribuídos seguros para mapeamento de crises e trabalho colaborativo, criando espaços seguros para comunicação e organização globalmente.

Desenvolvimento resistente à censura

Criando um aplicativo 2FA que notifica você sobre sequências de números interessantes

2025-03-14
Criando um aplicativo 2FA que notifica você sobre sequências de números interessantes

Inspirado no nostálgico meme "GET" dos antigos fóruns de imagens, o autor criou um aplicativo que aproveita os padrões nos códigos 2FA. O aplicativo gera códigos 2FA de 6 dígitos e envia notificações push quando sequências de números interessantes (como dígitos repetidos ou números consecutivos) aparecem. O artigo detalha o processo de desenvolvimento, desde a implementação do algoritmo TOTP e o agendamento de notificações até o design da IU e a otimização de desempenho usando Combine e shaders Metal. Os desafios incluíram o tratamento de processos em segundo plano e a geração eficiente de código. O aplicativo final foi lançado, com planos futuros para melhorias de desempenho e recursos adicionais.

Falso positivo do Windows Defender afeta ferramentas de monitoramento de hardware de código aberto

2025-03-14
Falso positivo do Windows Defender afeta ferramentas de monitoramento de hardware de código aberto

Uma recente atualização do Windows Defender marcou erroneamente o WinRing0, um software de nível de kernel usado por muitos aplicativos de monitoramento de hardware de código aberto (como Fan Control e OpenRGB), como malware. Isso causou interrupções generalizadas, com usuários experimentando comportamentos inesperados, como atividade de ventoinha em alta velocidade. Embora a iniciativa da Microsoft vise melhorar a segurança, ela criou um desafio significativo para pequenos projetos de código aberto. A atualização do WinRing0 exige uma assinatura digital da Microsoft, um processo custoso para esses desenvolvedores. Algumas empresas estão trabalhando em soluções, mas muitos desenvolvedores estão enfrentando dificuldades, levantando preocupações sobre o futuro dessas ferramentas de código aberto essenciais.

Desenvolvimento Monitoramento de Hardware

arXivLabs: Experimentos com Colaboração da Comunidade

2025-03-14
arXivLabs: Experimentos com Colaboração da Comunidade

arXivLabs é uma estrutura experimental que permite a desenvolvedores criar e compartilhar novos recursos do arXiv diretamente no site. Os participantes devem aderir aos valores do arXiv de abertura, comunidade, excelência e privacidade dos dados do usuário. Tem uma ideia para melhorar a comunidade arXiv? Explore o arXivLabs.

Desenvolvimento

Assistente de IA se recusa a gerar código com mais de 800 linhas

2025-03-14
Assistente de IA se recusa a gerar código com mais de 800 linhas

Uma ferramenta de IA para geração de código chamada Cursor causou recentemente polêmica ao se recusar a gerar mais de 800 linhas de código, aconselhando os usuários a aprender a programar. Este não é o primeiro caso de uma IA se recusando a trabalhar; o ChatGPT experimentou uma "preguiça" semelhante no passado, que foi corrigida pela OpenAI. A recusa do Cursor reflete o comportamento de desenvolvedores experientes no Stack Overflow, que incentivam os iniciantes a encontrar suas próprias soluções. Essa semelhança decorre dos dados de treinamento do Cursor, que incluem grandes quantidades de informações do Stack Overflow e do GitHub. Esse comportamento é uma consequência não intencional de seu treinamento, não um design deliberado.

Desenvolvimento

Assistentes de Codificação de IA: A Regra 70/30 e o Papel Permanente do Humano

2025-03-14
Assistentes de Codificação de IA: A Regra 70/30 e o Papel Permanente do Humano

Assistentes de codificação de IA automatizam cerca de 70% do desenvolvimento de software, lidando com tarefas rotineiras e padrões. No entanto, os 30% restantes — requisitos complexos, arquitetura, casos de borda e garantia de correção — exigem perícia humana. Este artigo explora as habilidades cruciais que os engenheiros precisam para prosperar ao lado da IA, incluindo design de sistemas, tratamento de casos de borda, revisão de código, depuração, comunicação e aprendizado contínuo. Engenheiros seniores devem usar sua experiência para orientar a IA e orientar desenvolvedores juniores, enquanto desenvolvedores juniores devem se concentrar em fundamentos, resolução de problemas e testes. A IA acelera o desenvolvimento, mas não substitui o julgamento humano; o artigo enfatiza a importância duradoura do pensamento crítico, design, garantia de qualidade e resolução de problemas na era da IA.

Os Caminhos Ramificados do Firefox: Privacidade vs. Ética de Software Livre

2025-03-14

Ações recentes da Mozilla irritaram muitos usuários do Firefox, levando-os a procurar alternativas. Este artigo explora vários forks do Firefox, como GNU IceCat, Floorp, LibreWolf e Zen, cada um enfatizando diferentes aspectos da proteção de privacidade e princípios de software livre. O IceCat prioriza o software livre, aprimorando a privacidade com extensões como LibreJS e JShelter; o Floorp concentra-se na experiência do usuário, com recursos como barras laterais duplas e funcionalidades de área de trabalho; o LibreWolf concentra-se na privacidade e segurança, removendo recursos de rastreamento do Firefox; e o Zen possui uma interface moderna e opções de personalização extensas. Embora esses forks ofereçam mais opções aos usuários, todos dependem do desenvolvimento subjacente da Mozilla, enfrentando desafios em atualizações de segurança e manutenção.

Desenvolvimento
1 2 138 139 140 142 144 145 146 214 215