Category: Desenvolvimento

Livro-vídeo interativo sobre Combinatória Bijetora: ABjC

2025-06-21

ABjC é um livro-vídeo de combinatória bijetora em quatro partes, cada parte correspondendo a um curso lecionado no IMSc. Apresentado em formato de vídeo com um site interativo para navegação fácil, o ABjC permite que os usuários encontrem seções e timestamps específicos. Ele abrange combinatória enumerativa, algébrica e bijetora, apresentando novos resultados e apresentações inovadoras da teoria clássica. Adequado para alunos de graduação, pós-graduação e pesquisadores, o livro-vídeo inclui seções que atendem a diferentes níveis de habilidade.

Desenvolvimento livro-vídeo

Cosmoe: Biblioteca de UI BeOS precisa de melhorias de estabilidade e compatibilidade

2025-06-21

Cosmoe, uma biblioteca de interface do usuário BeOS construída sobre Wayland, precisa de melhorias adicionais em estabilidade e compatibilidade, apesar do progresso significativo na integração das bibliotecas de classes BeOS com Wayland. Falhas e comportamentos incorretos permanecem, dificultados pelas complexidades do Wayland. Cosmoe atualmente implementa cerca de 95% da API BeOS, mas recursos cruciais como BBitmaps "offscreen" para desenho acelerado e BFilePanel (diálogos Abrir/Salvar) ainda estão faltando. Algumas classes relacionadas a arquivos estão apenas parcialmente implementadas. Além disso, as restrições de segurança do Wayland impedem certas ações de janela, como posicionamento e centralização. Consulte o arquivo TODO do repositório Cosmoe para obter mais detalhes.

Desenvolvimento

Dominando o TestFlight: Um Guia para Testes de Aplicativos Beta

2025-06-21
Dominando o TestFlight: Um Guia para Testes de Aplicativos Beta

Quer experimentar os aplicativos mais recentes antes de qualquer outra pessoa? O TestFlight é a sua chave! Este guia abrange a instalação, os testes e as atualizações de aplicativos beta em iOS, iPadOS, macOS, tvOS e visionOS. Junte-se por meio de convites por e-mail ou links públicos para instalar em até 30 dispositivos. Observe que as compras no aplicativo durante os testes beta não são transferidas para a versão da App Store e as versões beta expiram após 90 dias. O TestFlight também oferece suporte a atualizações automáticas e testes de versões anteriores para uma colaboração simplificada entre desenvolvedores e testadores.

Desenvolvimento

Delta Chat: Mensageiro Descentralizado e Seguro

2025-06-21
Delta Chat: Mensageiro Descentralizado e Seguro

Delta Chat é um aplicativo de mensagens descentralizado e seguro que oferece mensagens instantâneas confiáveis com suporte para vários perfis e dispositivos. Os usuários podem se conectar a servidores de chatmail rápidos e seguros ou usar servidores de email clássicos. Aplicativos web interativos dentro dos chats permitem jogos e colaboração. A criptografia ponta a ponta auditada protege contra ataques de rede e de servidor. Construído em princípios de código aberto e padrões da internet, o Delta Chat evita as armadilhas de plataformas centralizadas.

Riscos de segurança em analisadores Go: explorando comportamentos inesperados em JSON, XML e YAML

2025-06-21
Riscos de segurança em analisadores Go: explorando comportamentos inesperados em JSON, XML e YAML

Os analisadores JSON, XML e YAML do Go apresentam riscos de segurança, permitindo que atacantes explorem comportamentos inesperados para contornar a autenticação, burlar a autorização e exfiltrar dados confidenciais. A publicação detalha três cenários de ataque: (1) Des(serialização) de dados inesperados: expondo dados que os desenvolvedores pretendiam manter privados; (2) Diferenciais de analisadores: discrepâncias entre analisadores que permitem contornar as medidas de segurança; e (3) Confusão de formato de dados: explorando o tratamento de cargas úteis entre formatos. As mitigações incluem o uso de `DisallowUnknownFields` e funções personalizadas para compensar as vulnerabilidades na biblioteca padrão do Go.

Desenvolvimento segurança Go

Descida de Bloco de Vértice Aumentada: Um Avanço na Simulação de Física em Tempo Real

2025-06-21

Pesquisadores desenvolveram a Descida de Bloco de Vértice Aumentada (AVBD), um novo método de simulação de física incondicionalmente estável, altamente paralelizável e com convergência e tratamento de restrições complexas significativamente melhorados. O AVBD lida eficientemente com cenários complexos, como empilhamento de corpos rígidos, fricção, restrições de juntas e interações rígidas-flexíveis. Uma implementação de GPU atinge desempenho em tempo real, mantendo a estabilidade mesmo com milhões de objetos interagindo por meio de colisões. Em comparação com alternativas de última geração, o AVBD demonstra desempenho, convergência e estabilidade superiores, com uma demonstração online 2D disponível.

Desenvolvimento simulação física

Sistema de Construção do Chromium Migrando para Siso

2025-06-21

A equipe de infraestrutura de construção do Chrome anuncia que o sistema de construção do Chromium está mudando do Ninja para o Siso, uma substituição direta do Ninja que suporta nativamente a execução remota. Os desenvolvedores externos simplesmente precisam continuar usando autoninja; ele usará automaticamente o Siso após executar `gn clean` na próxima vez. Se surgirem problemas, reverta para o Ninja definindo `use_siso=false` no seu `args.gn`. O suporte ao Ninja termina no final de setembro, juntamente com a remoção do Reclient.

Desenvolvimento

Pânico em Paris: Um desastre de exclusão em cascata em produção

2025-06-21
Pânico em Paris: Um desastre de exclusão em cascata em produção

Um engenheiro de software trabalhando na Joe AI, uma startup de imóveis em Paris, acidentalmente excluiu um registro de usuário no banco de dados de produção, acionando uma exclusão em cascata que apagou três meses de dados cruciais. Embora alguns dados tenham sido recuperados ao atualizar para um plano pago do Supabase, o incidente destacou os riscos de manipular diretamente bancos de dados de produção e a necessidade crítica de estratégias robustas de backup. O desastre, por fim, levou a equipe a melhorar seu fluxo de trabalho de desenvolvimento, configurando instâncias locais do Supabase, resultando em maior eficiência. A experiência sublinha a importância de aprender com os erros e abraçar uma cultura de tomada de riscos e melhoria iterativa.

Aprenda Campos de Galois para o Grande Bem! (Parte 00)

2025-06-21

Esta série fornece uma introdução suave à Álgebra Abstrata, focando em Campos de Galois (campos finitos) e suas aplicações na ciência da computação. O autor aborda a falta de recursos acessíveis para cientistas da computação, oferecendo uma abordagem passo a passo com exemplos práticos de código Rust. Os tópicos abordados incluirão códigos Reed-Solomon, criptografia AES e muito mais. O foco é na compreensão, não na otimização, tornando-o ideal para aqueles novos no assunto.

AtomicOS: Um Sistema Operacional Educacional Priorizando Segurança

2025-06-21
AtomicOS: Um Sistema Operacional Educacional Priorizando Segurança

O AtomicOS é um sistema operacional educacional construído do zero, priorizando a segurança em detrimento do desempenho. Ele utiliza a linguagem de programação determinística Tempo e implementa proteção de memória real, criptografia (AES-128, SHA-256) e uma MMU completa. Embora atualmente careça de recursos como pilha de rede, sistema de arquivos e drivers, seu design e implementação focados em segurança são dignos de nota. O projeto é de código aberto, mas exige atribuição e divulgação de modificações.

Desenvolvimento

arXivLabs: Colaboração da Comunidade em Recursos do arXiv

2025-06-20
arXivLabs: Colaboração da Comunidade em Recursos do arXiv

arXivLabs é uma nova estrutura colaborativa que permite que desenvolvedores criem e compartilhem novos recursos do arXiv diretamente no site do arXiv. Indivíduos e organizações envolvidos compartilham os valores do arXiv 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 melhorar a comunidade arXiv? Saiba mais sobre o arXivLabs!

Desenvolvimento

LLMs Aumentam a Subutilização de Bibliotecas

2025-06-20

Bibliotecas são subutilizadas devido a fatores como a diversão de codificar em comparação com a leitura de documentação, o efeito Dunning-Kruger subestimando a complexidade da biblioteca e projetos internos competindo com bibliotecas. LLMs pioram isso. Embora a 'codificação vibe' com LLMs seja divertida e eficiente, a saída muitas vezes é inferior às bibliotecas testadas em batalha. O código gerado por LLM é suscetível a limitações de engenharia de prompt, enquanto os criadores de bibliotecas possuem um entendimento mais profundo do problema e podem alavancar LLMs para gerar código de maior qualidade. Ironicamente, a dependência excessiva de LLMs para geração de código pode ser percebida como inovação, criando incentivos perversos e exacerbando ainda mais o problema. Para tarefas complexas, priorizar bibliotecas estabelecidas em vez do uso direto de LLM é crucial.

Desenvolvimento Bibliotecas

Provando a Correção de Memorização em Lean: Um Estudo de Caso

2025-06-20
Provando a Correção de Memorização em Lean: Um Estudo de Caso

Esta postagem de blog demonstra como resolver um problema de programação dinâmica usando memorização no demonstrador de teoremas Lean e verificar formalmente sua correção. O autor aborda o problema das Moedas de Ouro Bytelandianas, apresentando inicialmente uma solução memorizada usando um HashMap. A dificuldade de provar diretamente sua correção é destacada devido aos desafios em raciocinar sobre invariantes de estrutura de dados. A solução utiliza subtipos e pares dependentes para criar um `PropMap`, uma tabela de memorização que armazena não apenas valores calculados, mas também provas de sua correção. A correção do algoritmo é então provada incrementalmente dentro da própria implementação recursiva, culminando em uma prova de nível superior trivial. Essa abordagem interliga elegantemente código e prova, mostrando uma técnica poderosa para verificar formalmente algoritmos de programação dinâmica.

Desenvolvimento programação dinâmica

arXivLabs: Projetos experimentais com colaboradores da comunidade

2025-06-20
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 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

Nova tática anti-bloqueador de anúncios do YouTube: Buffering falso e como contorná-lo

2025-06-20

O YouTube lançou mais uma rodada de medidas anti-bloqueador de anúncios, uma das quais é o "buffering falso". Vídeos experimentam um buffering artificialmente longo no início, proporcional à duração do anúncio. Isso ocorre porque a API InnerTube do YouTube, quando o bloqueio de anúncios é detectado, retorna fluxos de vídeo do GVS (Google Video Services) com atrasos. O autor encontrou uma solução modificando um filtro uBlock Origin para adicionar `isInlinePlaybackNoAd: true` à solicitação JSON. No entanto, o YouTube implementou um script de bloqueio, exigindo uma solução alternativa conectando Object.assign.

Desenvolvimento

HashiCorp desativa o HCP Vault Secrets

2025-06-20
HashiCorp desativa o HCP Vault Secrets

A HashiCorp anunciou que irá desativar seu serviço HCP Vault Secrets em 27 de agosto de 2025, para clientes de pagamento conforme o uso. A empresa integrará as melhorias de usabilidade do HCP Vault Secrets ao HCP Vault Dedicated. Os usuários existentes são encorajados a migrar para o HCP Vault Dedicated ou o Vault Community. As vendas encerram em 30 de junho de 2025; os clientes existentes podem adicionar novos aplicativos até o fim da vida útil. Clientes com contrato Flex não são afetados.

Desenvolvimento Segurança na Nuvem

Nxtscape: O Navegador Agéntico de Código Aberto - Seu Acompanhante de Produtividade com IA

2025-06-20
Nxtscape: O Navegador Agéntico de Código Aberto - Seu Acompanhante de Produtividade com IA

Nxtscape, um navegador de código aberto construído no Chromium, oferece uma alternativa que prioriza a privacidade em relação às opções de código fechado. Ele permite que os usuários executem agentes como Manus localmente, aumentando a produtividade com um assistente de IA. Ao contrário do Chrome, o Nxtscape mantém os recursos de IA locais, priorizando a privacidade do usuário. Sua visão é reinventar a experiência do navegador, resolvendo problemas como sobrecarga de guias e preenchimento de formulários complicado. Recursos futuros incluem uma loja MCP e um bloqueador de anúncios de IA integrado. O projeto é de código aberto e impulsionado pela comunidade, incentivando a participação do usuário.

Desenvolvimento Navegador de Código Aberto

Fuja do Pesadelo da Produção em Ciência de Dados: Uma Solução Pythonica com Marimo e Bauplan

2025-06-20
Fuja do Pesadelo da Produção em Ciência de Dados: Uma Solução Pythonica com Marimo e Bauplan

Levar modelos de aprendizado de máquina do protótipo para a produção continua sendo um grande obstáculo para os cientistas de dados. As abordagens tradicionais dependem de notebooks Jupyter frágeis ou de transferências de DevOps caras e demoradas. Este artigo apresenta Marimo e Bauplan, uma combinação de ferramentas Pythonicas que proporciona uma transição perfeita do protótipo para a produção, mantendo todo o fluxo de trabalho dentro do ecossistema Python. Marimo é um notebook de código aberto moderno que combina a flexibilidade do Jupyter com a capacidade de manutenção de scripts, enquanto Bauplan é uma plataforma de dados em nuvem que suporta fluxos de trabalho Pythonicos com versionamento de dados integrado e ambientes declarativos. Com essas ferramentas, os cientistas de dados podem implantar diretamente o código de seus notebooks para produção sem refatoração complexa ou colaboração entre equipes, simplificando drasticamente o processo de produção e aumentando a eficiência.

Desenvolvimento

Motor de Diferenciação Automática Minimal em Rust

2025-06-20
Motor de Diferenciação Automática Minimal em Rust

Este é um motor de diferenciação automática minimal escrito em Rust. Ele pode treinar um pequeno Multi-Layer Perceptron para aprender a função XOR e renderizar um gráfico de computação de um único Perceptron para graph.html. O núcleo é a estrutura Scalar, armazenando valor, gradiente opcional e uma Edge descrevendo a operação que o produziu. Sobrecargas de operadores e funções auxiliares constroem um gráfico acíclico direcionado, armazenando em cache a derivada local para cada aresta. `backward()` propaga recursivamente os gradientes do nó de saída, acumulando-os nos nós folha criados com `Scalar::new_grad`. O gráfico pode ser visualizado com `plot::dump_graph`.

Desenvolvimento Diferenciação Automática

Klong: Uma Linguagem de Array Concisa

2025-06-20

Klong é uma linguagem de array concisa, semelhante à linguagem K, mas sem a ambiguidade. Ela usa notação matemática para programação, o que pode parecer simplista para aqueles familiarizados com K ou APL, enquanto representa um desafio para iniciantes. Existe uma documentação abrangente disponível, incluindo um manual de referência, um guia introdutório, uma referência rápida e uma comparação entre Klong e K. Escrita em ANSI C puro, é fácil de compilar e instalar, e uma versão vetorializada chamada KlongPy também está disponível.

Desenvolvimento programação de array

Phoenix.new: Um agente de codificação online baseado em Elixir que revoluciona o desenvolvimento de aplicativos em tempo real

2025-06-20
Phoenix.new: Um agente de codificação online baseado em Elixir que revoluciona o desenvolvimento de aplicativos em tempo real

Chris McCord, criador do framework Phoenix, apresenta o Phoenix.new, um agente de codificação online baseado em Elixir. Rodando em uma VM isolada com acesso root ao shell, o agente pode instalar pacotes, executar programas e interagir com aplicativos. Integrado a um navegador para testes e interação de front-end, o Phoenix.new automatiza a implantação, integra-se ao Github e simplifica drasticamente o fluxo de trabalho de desenvolvimento. Ele pode até gerar aplicativos com base em esquemas de banco de dados. McCord sugere que isso representa uma mudança significativa no desenvolvimento, com o desenvolvimento futuro provavelmente dependendo mais de agentes trabalhando em ambientes CI.

(fly.io)
Desenvolvimento

cursor: Explorador de banco de dados PostgreSQL com IA

2025-06-20
cursor: Explorador de banco de dados PostgreSQL com IA

cursor é um aplicativo de desktop local que usa IA para explorar seu banco de dados PostgreSQL em segundos. Ele gera consultas com reconhecimento de esquema instantaneamente, suporta qualquer banco de dados PostgreSQL e permite que você use sua própria chave OpenAI. Embora binários pré-compilados estejam chegando em breve, os usuários atualmente precisam compilá-lo a partir da fonte.

ts-ssh: Uma poderosa ferramenta de linha de comando SSH/SCP para Tailscale

2025-06-20
ts-ssh: Uma poderosa ferramenta de linha de comando SSH/SCP para Tailscale

O ts-ssh é um cliente SSH e SCP de linha de comando simplificado que utiliza a rede Tailscale. Ele oferece poderosas operações multi-host, execução de comandos em lote e verdadeira integração tmux — tudo sem exigir o daemon Tailscale completo. Perfeito para equipes de DevOps que precisam de acesso SSH rápido e confiável em sua infraestrutura Tailscale, o ts-ssh suporta vários métodos de autenticação, sessões SSH interativas, verificação segura de chave de host e transferências SCP diretas. Suas capacidades avançadas de multi-host incluem execução de comandos em lote, execução de comandos concorrentes e distribuição de arquivos multi-host. Compatível com várias plataformas e oferecendo suporte a vários idiomas, o ts-ssh é essencial para a gestão eficiente de redes.

Desenvolvimento

As Armadilhas da Geração de Código de IA: Ignorando a Arquitetura Subjacente

2025-06-20
As Armadilhas da Geração de Código de IA: Ignorando a Arquitetura Subjacente

Este artigo explora os riscos de usar cegamente metodologias ágeis e ferramentas de geração de código de IA na engenharia de software. O autor argumenta que as práticas ágeis atuais supervalorizam a velocidade de desenvolvimento de recursos, negligenciando o trabalho subjacente de manutenção e arquitetura do sistema. As ferramentas de geração de código de IA são excelentes na produção rápida de recursos de nível superficial, mas falham em abordar problemas de arquitetura subjacentes. Isso é semelhante a construir uma casa focando apenas na decoração, ignorando a fundação, levando, em última análise, ao colapso do sistema. O autor exorta os líderes empresariais a valorizar o trabalho subjacente da engenharia, evitar sacrificar a estabilidade de longo prazo em prol de ganhos de curto prazo e sugere aprender métodos de contabilidade técnica para melhor entender e gerenciar equipes de engenharia.

Desenvolvimento

Melhores Práticas para Escrever Makefiles GNU Robustos

2025-06-20

Este guia abrangente descreve as melhores práticas para criar Makefiles GNU eficientes, fáceis de manter e portáteis. Ele abrange a estrutura do Makefile, o uso de variáveis, as definições de regras e destinos e as estratégias para lidar com projetos grandes e compilações paralelas. O guia enfatiza o uso de variáveis automáticas, a prevenção de erros comuns e fornece técnicas para lidar com vários cenários, como tarefas de limpeza, gerenciamento de dependências e processamento de vários arquivos. O objetivo final é capacitar os desenvolvedores a escrever Makefiles limpos, compreensíveis e fáceis de manter, aumentando assim a eficiência do desenvolvimento.

Desenvolvimento

A Revolução Wayland: Acessibilidade no Futuro da Área de Trabalho Linux

2025-06-20

Com a morte iminente do X11, o Wayland está pronto para se tornar o futuro da área de trabalho Linux. Isso representa um desafio significativo para usuários com deficiência que dependem de tecnologias assistivas, pois as implementações iniciais do Wayland apresentavam graves problemas de acessibilidade. No entanto, a situação está melhorando. O GNOME está melhorando ativamente o suporte de acessibilidade do Wayland, e leitores de tela como o Orca estão se tornando mais responsivos. Embora ainda existam desafios, como suporte insuficiente para GUI sem cabeça e problemas de compatibilidade do compositor, os desenvolvedores estão trabalhando para resolvê-los e construir um ecossistema Wayland mais acessível. Esta postagem apela para um esforço colaborativo de desenvolvedores e da comunidade para garantir que o futuro do Wayland não deixe para trás os usuários com deficiência.

Desenvolvimento

Compilações Rápidas em Rust: Segredos para um CI Inferior a 10 Minutos

2025-06-20

É uma reclamação comum que o Rust compila lentamente, mas o autor argumenta que a maioria dos projetos Rust compila muito mais lentamente do que deveria. Usando o rust-analyzer (200 mil linhas de código mais um milhão de linhas de dependências) como exemplo, eles alcançaram um pipeline de CI de 8 minutos no GitHub Actions. O artigo detalha estratégias para otimizar os tempos de compilação, incluindo o aproveitamento do cache de CI, divisão de tarefas de CI, desativação da compilação incremental e informações de depuração, redução de dependências, utilização de `cargo build -Z timings` para análise de desempenho e arquitetura cuidadosa do código para evitar a instanciação excessiva de genéricos em limites de crate. O autor destaca o impacto do tempo de compilação na produtividade do desenvolvedor e recomenda otimizar regularmente os tempos de compilação para manter os tempos de CI para grandes projetos Rust em uma faixa razoável, por exemplo, cerca de 10 minutos.

JavaScript: O progresso que quebrou a web

2025-06-20
JavaScript: O progresso que quebrou a web

Este artigo critica o uso excessivo de frameworks JavaScript no desenvolvimento web moderno. O autor argumenta que a busca por experiências semelhantes a aplicativos nativos levou os desenvolvedores a empregar frameworks e ferramentas excessivamente complexos, resultando em tempos de carregamento lentos, manutenção difícil e experiência do usuário e SEO prejudicados. Muitas funcionalidades de sites, afirma o artigo, poderiam ser alcançadas com código mais simples, enquanto arquiteturas excessivamente complexas reduzem a eficiência. O autor apela por um retorno à simplicidade, priorizando a experiência do usuário e o desempenho em vez de exibicionismo técnico.

Desenvolvimento

Conquistando Makefiles: Um Guia Completo

2025-06-20

Este guia desmistifica os Makefiles, abordando sua sintaxe muitas vezes confusa e regras ocultas. Ele começa com o básico, progredindo através da sintaxe, variáveis, funções e técnicas avançadas, tudo ilustrado com exemplos executáveis. O guia culmina em um modelo prático de Makefile para projetos de médio porte, tornando-se um recurso valioso para desenvolvedores de todos os níveis.

Desenvolvimento
1 2 55 56 57 59 61 62 63 214 215