Category: Desenvolvimento

Nextcloud acusa o Google de sabotar seu aplicativo de arquivos Android

2025-05-13
Nextcloud acusa o Google de sabotar seu aplicativo de arquivos Android

A fornecedora europeia de software Nextcloud acusou o Google de sabotar deliberadamente seu aplicativo de arquivos Android, que possui mais de 800.000 usuários. O problema reside na permissão de "acesso a todos os arquivos", necessária para a funcionalidade de sincronização de arquivos do aplicativo. Embora o Google ofereça alternativas focadas na privacidade, a Nextcloud argumenta que elas são insuficientes. O Google revogou essa permissão em 2024, quebrando efetivamente o aplicativo na Play Store. A Nextcloud acredita que isso faz parte de um padrão maior de comportamento anticompetitivo das grandes empresas de tecnologia, citando processos regulatórios lentos e a falta de recursos para empresas menores. O aplicativo permanece funcional no F-Droid.

Desenvolvimento Anticompetitivo

A jornada do Dgraph Labs para auditorias de segurança contínuas: mais de 2000 problemas de segurança resolvidos

2025-05-13
A jornada do Dgraph Labs para auditorias de segurança contínuas: mais de 2000 problemas de segurança resolvidos

O Dgraph Labs implementou um sistema de auditoria de segurança contínua usando GitHub Actions e várias ferramentas, resolvendo mais de 2000 problemas de segurança em apenas três meses, melhorando significativamente a conformidade SOC2. O sistema abrange código, artefatos binários e imagens Docker, utilizando Trivy e Snyk para varredura e a guia de segurança do GitHub para rastreamento e resolução de problemas. Linters são usados para análise estática de código e DependaBot para correções automatizadas. Isso melhorou significativamente a visibilidade e a resolução mais rápida de problemas de segurança, servindo como exemplo para melhoria contínua da segurança.

Odin: Uma linguagem inspirada em C que abraça as melhores práticas modernas

2025-05-13
Odin: Uma linguagem inspirada em C que abraça as melhores práticas modernas

O autor, com base na experiência de construir um motor de jogo em C, destaca a incorporação de várias melhores práticas de C em Odin. Isso inclui alocadores personalizados (com suporte embutido nas bibliotecas principais do Odin), alocadores temporários para gerenciamento de memória baseado em quadros, alocadores de rastreamento para detecção de vazamentos, inicialização zero, inicializadores designados e programação amigável ao cache por meio de suporte SoA. Odin consegue isso mantendo a simplicidade de C, adicionando recursos modernos como genéricos e sobrecarga. O autor enfatiza que, embora os recursos do Odin sejam muito benéficos para aqueles com um histórico semelhante em C, também é acessível para aqueles não familiarizados com esses conceitos, sugerindo seu livro como um recurso introdutório.

Desenvolvimento

Pipelines de ML offline vs. online: a chave para escalar a IA

2025-05-13
Pipelines de ML offline vs. online: a chave para escalar a IA

Este artigo destaca a diferença crucial entre pipelines de aprendizado de máquina offline e online na construção de sistemas de IA escaláveis. Pipelines offline lidam com processamento em lote, como coleta de dados, ETL e treinamento de modelos, enquanto pipelines online fornecem previsões em tempo real ou quase em tempo real para os usuários. O artigo enfatiza a importância da separação desses pipelines e usa um pipeline de recursos para ajuste fino de um SLM de resumo como exemplo. Ele explica como construir um processo de geração de conjunto de dados reprodutível, rastreável e escalável usando frameworks MLOps como ZenML. Esse processo extrai dados do MongoDB, os processa em vários estágios e, finalmente, os publica no Hugging Face. Compreender essa separação é crucial para construir sistemas de IA robustos em nível de produção.

Desenvolvimento escalabilidade de IA

Cinco Táticas de Persuasão para Gerentes de Engenharia

2025-05-13
Cinco Táticas de Persuasão para Gerentes de Engenharia

Este artigo explora cinco técnicas de persuasão comumente usadas por gerentes de engenharia, ilustradas com exemplos da vida real. A primeira é o método 'Nemawashi', que envolve comunicação preventiva com as partes interessadas para construir apoio e minimizar conflitos. Em seguida, vem o 'Precificação de Isca', apresentando estrategicamente opções para orientar a escolha desejada. Depois, a 'Psicologia Reversa' usa sugestões contraintuitivas para provocar uma resposta desejada. Em seguida, vem 'Deixe-me Decidir Isso por Você (LMDTFY)', onde uma decisão é tomada com a opção de veto, incentivando a autonomia. Finalmente, 'Sorte Engenheirada' envolve criar coincidências para facilitar a comunicação. Essas táticas podem melhorar significativamente a eficácia de um gerente de engenharia em aprovações de projetos, aquisição de recursos e colaboração em equipe.

Desenvolvimento Técnicas de Persuasão

Contribuindo para o Firefox: Código-Fonte, Compilações e Suporte

2025-05-13
Contribuindo para o Firefox: Código-Fonte, Compilações e Suporte

Quer contribuir para o desenvolvimento do Firefox? A Mozilla fornece documentação abrangente sobre a estrutura do diretório do código-fonte (https://firefox-source-docs.mozilla.org/contributing/directory_structure.html) e uma referência rápida para contribuições (https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html), guiando você na construção do Firefox e na criação de patches. Precisa de ajuda? Junte-se ao canal `Introduction` do Matrix (https://chat.mozilla.org/#/room/#introduction:mozilla.org) para obter suporte. Você também pode baixar compilações noturnas para testes (https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/ ou https://www.mozilla.org/firefox/channel/desktop/#nightly), mas esteja ciente de que elas podem conter bugs.

Desenvolvimento Código-Fonte Contribuição

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

2025-05-13
arXivLabs: Colaboração da Comunidade em Novos Recursos do arXiv

arXivLabs é uma estrutura que permite que colaboradores desenvolvam e compartilhem 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? Saiba mais sobre o arXivLabs.

Desenvolvimento

Shader Minifier: A Arma Secreta Por Trás de Animações de Demoscena Pequenas e Impressionantes

2025-05-13
Shader Minifier: A Arma Secreta Por Trás de Animações de Demoscena Pequenas e Impressionantes

O Shader Minifier é uma ferramenta que minifica código GLSL, permitindo que artistas de demoscena criem animações de computador complexas em tamanhos de arquivo incrivelmente pequenos. Esta postagem de blog detalha sua evolução, desde a remoção simples de espaços e comentários até otimizações avançadas como análise estática e inlining de funções. O autor relata como o Shader Minifier reduziu um shader de 47 KB para 5,2 KB após a compressão, melhorando drasticamente a eficiência do desenvolvimento. O princípio central envolve a utilização de algoritmos de compressão reutilizando nomes de variáveis e otimizando funções para reduzir o tamanho do código e aumentar as taxas de compressão. Embora já tenha sido bem-sucedido, o autor explora melhorias adicionais para enfrentar os desafios de animações ainda maiores de 64 KB.

Desenvolvimento compressão de código

Uma Política de Transiência: Uma Filosofia de Uso do Computador de um Programador

2025-05-13

Este artigo detalha os hábitos incomuns de uso do computador de um programador, centrados em uma "política de transiência". Essa filosofia dita que todos os dados devem ser ou deliberadamente permanentes e organizados, ou estritamente temporários, evitando a permanência acidental. Exemplos incluem desativar o histórico persistente do shell, limpar regularmente a área de trabalho da GUI e fechar o navegador com frequência. O autor explica os benefícios, como aumento da eficiência, melhor organização e redução de dados desnecessários. Práticas relacionadas, como gestão de registros corporativos e configuração automatizada do sistema operacional, são discutidas, juntamente com exceções à política, como e-mail e histórico do navegador, que são mantidos permanentemente devido à sua utilidade imprevisível.

Mergulhando no BEAM: A Base do Elixir

2025-05-12
Mergulhando no BEAM: A Base do Elixir

Este é o primeiro capítulo da série “Elixir, 7 Passos para Começar sua Jornada”, que mergulha na base da potência e confiabilidade do Elixir: a Máquina Virtual Erlang (BEAM). A postagem explora a história do Erlang, seus objetivos de design e seu papel crucial no Elixir. Criado na metade da década de 1980, o Erlang, inicialmente para telecomunicações, agora é uma linguagem de uso geral conhecida por sistemas distribuídos, tolerantes a falhas, massivamente concorrentes e de tempo real suave. O BEAM gerencia a execução do código Erlang, processos concorrentes e alcança tolerância a falhas por meio de passagem de mensagens assíncrona. O Elixir, rodando na BEAM, herda esses pontos fortes, adicionando uma sintaxe mais limpa e uma biblioteca robusta. Um exemplo de código simples mostra a interação entre Erlang e Elixir. O próximo capítulo promete um mergulho profundo nos processos e concorrência do Erlang.

Desenvolvimento

Construa seu próprio assistente de voz local: A borda está de volta

2025-05-12
Construa seu próprio assistente de voz local: A borda está de volta

Cansado de depender de LLMs gigantes na nuvem? Este tutorial em 5 partes ensina você a construir seu próprio assistente de voz local que entende linguagem natural, executa funções do seu aplicativo e respeita sua privacidade. Aprenda a ajustar finamente o LLaMA 3.1 com LoRA, criar um conjunto de dados de chamada de função, executar inferência localmente e integrar E/S de voz. O autor destaca a importância dos princípios do MLOps para IA local, fornecendo um guia prático para construir um assistente de voz local robusto e sustentável.

Desenvolvimento IA local

arXivLabs: Projetos Experimentais com Colaboradores da Comunidade

2025-05-12
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 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

Construa uma base sólida de SOC 2: solução completa

2025-05-12
Construa uma base sólida de SOC 2: solução completa

Cansado de lutar com a conformidade SOC 2? Esta ferramenta fornece listas de verificação SOC 2 claras e acionáveis para entender os requisitos e acompanhar facilmente o progresso. Gere instantaneamente políticas fundamentais e compatíveis com SOC 2 para iniciar sua documentação. Centralize o upload de evidências e vincule arquivos diretamente aos controles, simplificando a preparação da auditoria. Colabore efetivamente com atribuição de tarefas da equipe, rastreamento de status e gerenciamento de solicitações de evidências - tudo em uma única plataforma. Atualizações futuras incluem coleta automatizada de evidências, monitoramento contínuo de controle e integrações de fornecedores.

Desenvolvimento

Mergeable: Uma caixa de entrada melhor para solicitações pull do GitHub

2025-05-12
Mergeable: Uma caixa de entrada melhor para solicitações pull do GitHub

Mergeable é um aplicativo de navegador projetado para melhorar o gerenciamento de solicitações pull do GitHub. Ele permite que os usuários organizem PRs em seções usando consultas de pesquisa flexíveis, armazena todos os dados localmente no navegador, suporta atalhos de teclado para navegação rápida e se conecta a várias instâncias do GitHub (incluindo o GitHub Enterprise). Importantemente, ele destaca os PRs aguardando sua ação, tudo sem precisar de nenhuma instalação de aplicativo do GitHub. Experimente a instância pública em https://app.usemergeable.dev ou faça o auto-hospedamento usando a documentação em https://www.usemergeable.dev.

Desenvolvimento Solicitação Pull

5 Passos para Simulação de N-Corpos: Um Tutorial em Python

2025-05-12

Esta série de tutoriais ensina iniciantes a escrever código de simulação de gravidade de N-corpos rápido e limpo em Python, inspirado no curso "CFD Python: 12 passos para Navier-Stokes". Cada etapa fornece explicações detalhadas e código completo, incentivando os leitores a reescrever o código para melhor compreensão. Mesmo com conhecimento básico de Python e Cálculo, iniciantes podem acompanhar. Após a conclusão, você poderá criar sua própria simulação de N-corpos e explorar projetos relacionados.

Desenvolvimento Simulação de N-corpos

arXivLabs: Projetos Experimentais com Colaboradores da Comunidade

2025-05-12
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

Representação de Memória Eficiente com GADTs em OCaml

2025-05-12
Representação de Memória Eficiente com GADTs em OCaml

Este artigo explora o uso de Tipos de Dados Algébricos Generalizados (GADTs) em OCaml para otimizar a representação da memória. O autor primeiro explica as limitações do polimorfismo do OCaml, particularmente a ineficiência de espaço do List.iter ao lidar com tipos de dados diferentes devido à representação uniforme da memória. Tentativas de criar um tipo `Compact_array` usando variantes ordinárias e objetos falham devido a problemas de inferência de tipo e alocação de memória. Finalmente, usando GADTs, o autor cria com sucesso uma representação de memória flexível e eficiente para matrizes de diferentes tipos de dados, mostrando a utilidade dos GADTs além da escrita de compiladores, particularmente em aplicações de alto desempenho que exigem controle preciso da memória.

Desenvolvimento

Nix: Cadeias de Suprimento de Software Demonstravelmente Seguras

2025-05-12
Nix: Cadeias de Suprimento de Software Demonstravelmente Seguras

Atender às rígidas regulamentações de segurança da cadeia de suprimentos de software frequentemente envolve ambientes isolados dispendiosos e verificações extensivas. Este artigo apresenta o Nix, um poderoso gerenciador de pacotes, como uma solução. O Nix permite a integridade verificável da cadeia de suprimentos sem sacrificar a velocidade de desenvolvimento. Ele rastreia a origem e a integridade exatas do software, produzindo pacotes de origem offline auditáveis. Um exemplo de imagem NixOS inicializável demonstra como o Nix extrai derivações de saída fixa (FODs) verificáveis da árvore de dependências, permitindo reconstruções offline para garantir total rastreabilidade e integridade. Isso transforma a conformidade de um obstáculo em uma etapa de verificação pós-desenvolvimento administrável, reduzindo significativamente os custos e melhorando a eficiência do desenvolvimento.

Desenvolvimento Verificabilidade

Conquistando a Sobrecarga do HN: Notícias de Tecnologia Personalizadas com IA

2025-05-12
Conquistando a Sobrecarga do HN: Notícias de Tecnologia Personalizadas com IA

O autor, um usuário do Hacker News de longa data, lutava com a sobrecarga de informações. Para combater isso, ele criou duas ferramentas: Tobie, um bot do Telegram que entrega posts personalizados do HN com base em palavras-chave e limiares de votos; e HaNe, uma extensão do Chrome que fornece links arquivados para artigos pagos, acesso rápido a threads do HN e comentários resumidos por IA. Essas ferramentas melhoraram significativamente sua eficiência de leitura, reduziram o tempo de tela e aliviaram a ansiedade informacional.

Desenvolvimento

Embeddings: O Futuro da Redação Técnica?

2025-05-12

Este artigo explora como a tecnologia de embeddings pode revolucionar a redação técnica. Ao contrário dos modelos de geração de texto, a tecnologia de embeddings compara a semelhança semântica de textos convertendo-os em vetores de alta dimensionalidade (embeddings). O artigo explica como os embeddings são gerados, seu custo e as diferenças entre diferentes modelos, usando o modelo Voyage-3 como exemplo para ilustrar suas vantagens no manuseio de grandes textos. O autor usa a analogia de coordenadas de mapa para explicar como os embeddings são representados no espaço de alta dimensionalidade e, usando o Word2vec como exemplo, demonstra a capacidade da tecnologia de embeddings de capturar relações semânticas. Finalmente, o artigo apresenta a aplicação da tecnologia de embeddings na recomendação de páginas relacionadas em sites de documentação e analisa seu enorme potencial na redação técnica.

Desenvolvimento tecnologia de embeddings

StarGuard: Pontuações de Confiança para Repositórios GitHub

2025-05-12
StarGuard: Pontuações de Confiança para Repositórios GitHub

StarGuard é uma ferramenta de linha de comando projetada para detectar campanhas de estrelas falsas, sequestro de dependências, sinalizadores de licença e outros indicadores de risco de código aberto no GitHub. Analisando estrelas, dependências, licenças, mantenedores e código, ele gera uma pontuação de confiança, permitindo que CTOs, equipes de segurança e VCs avaliem rapidamente os riscos de código aberto. StarGuard produz relatórios em JSON, Markdown e texto simples, além de gráficos de histórico de estrelas e badges shields.io.

Desenvolvimento

Namespaces Ruby: Uma Análise Crítica de uma Implementação Proposta

2025-05-12

Esta postagem de blog questiona uma implementação proposta de namespaces em Ruby. O autor argumenta que a proposta visa resolver problemas como conflitos de nomes de bibliotecas, módulos compartilhados globalmente e várias versões de gems, mas esses problemas não são frequentemente encontrados na prática. A complexidade introduzida pela proposta, como a desduplicação, pode superar seus benefícios. O autor prefere uma abordagem mais leve, como restringir o acesso a constantes e fornecer um mecanismo semelhante ao BasicObject para melhorar a manutenibilidade e a modularidade do código.

Desenvolvimento Modularidade

Falha do Comitê de Conduta de Código do LLVM: Uma história de contribuição de código aberto

2025-05-12

Um contribuidor de código aberto enviou um relatório de bug para o projeto LLVM e enfrentou tratamento injusto. Apesar de fornecer evidências extensas, o Comitê de Conduta de Código decidiu contra o contribuidor, ignorando violações claras de outros contribuidores. Isso levanta questões sobre a aplicação dos Códigos de Conduta em comunidades de código aberto e preocupações sobre justiça e responsabilização. O incidente até mesmo se espalhou para o projeto Mesa, destacando ainda mais a necessidade de mecanismos aprimorados de resolução de conflitos em comunidades de código aberto.

Desenvolvimento código de conduta

CoMaps: Um Fork Comunitário do Organic Maps Decola

2025-05-12
CoMaps: Um Fork Comunitário do Organic Maps Decola

O fork comunitário do Organic Maps, CoMaps, está progredindo rapidamente. Construído com base nos princípios de transparência, tomada de decisão comunitária, sem fins lucrativos, código aberto e privacidade, o projeto está focado em estabelecer sua base e tecnologia. A primeira versão está em andamento. Uma votação comunitária para o nome final do projeto será concluída em 20 de maio no Codeberg. O CoMaps recebe contribuições em desenvolvimento, governança, divulgação e doações. As negociações com os acionistas do Organic Maps estão paralisadas; Viktor busca manter o controle total, deixando o futuro do Organic Maps incerto.

kdlfmt: Formatador de código KDL robusto

2025-05-12
kdlfmt: Formatador de código KDL robusto

kdlfmt é uma ferramenta de linha de comando baseada em Rust para formatar documentos KDL (Key-Data-List). A instalação é flexível, suportando Cargo, Homebrew, npm e binários pré-compilados. Oferece o comando `format` para formatação, `check` para validação e `completions` para autocompletar o shell. Arquivos `.kdlfmtignore` permitem exclusão, e opções permitem especificar a versão do KDL e o nível de log. Seja por meio de entrada de pipeline ou processando arquivos, o kdlfmt formata eficientemente o código KDL para melhor legibilidade e consistência.

Desenvolvimento

Dominando a Compilação Dart: Um mergulho profundo no `dart compile`

2025-05-12
Dominando a Compilação Dart: Um mergulho profundo no `dart compile`

Este guia fornece uma visão geral completa do comando Dart `dart compile`, permitindo a compilação de programas Dart para várias plataformas de destino. Ele detalha o uso de subcomandos como `exe` (executáveis autônomos), `aot-snapshot` (módulos AOT), `jit-snapshot` (módulos JIT), `kernel` (módulos portáteis), `js` (JavaScript) e `wasm` (WebAssembly), explicando suas funcionalidades e características. O guia abrange compilação cruzada, assinatura de código e técnicas de otimização para compilação web de produção, oferecendo uma compreensão completa da compilação Dart.

Desenvolvimento

Atualização Principal do Armbian: Integração do OpenMediaVault e Mais

2025-05-12
Atualização Principal do Armbian: Integração do OpenMediaVault e Mais

A atualização do Armbian desta semana traz melhorias significativas em todas as áreas. O destaque é a integração do OpenMediaVault, permitindo que os usuários transformem facilmente computadores de placa única suportados em dispositivos de armazenamento conectados à rede (NAS). Outras melhorias incluem a remoção de um prompt de ponto de acesso sem fio redundante, a atualização de bootloaders no Orange Pi 5 Max e PocketBeagle2 e a otimização do desempenho e da estabilidade na plataforma Rockchip64. O Armbian também continua o aprimoramento da infraestrutura, limpando código não utilizado e se preparando para futuras iniciativas de teste.

Suíte de testes do Warehouse do PyPI 81% mais rápida com otimizações simples

2025-05-12
Suíte de testes do Warehouse do PyPI 81% mais rápida com otimizações simples

A Trail of Bits melhorou drasticamente o desempenho da suíte de testes do Warehouse do PyPI, reduzindo o tempo de execução de 163 segundos para 30 segundos, enquanto aumentava a contagem de testes de 3.900 para mais de 4.700. Essa melhoria de 81% foi alcançada por meio de várias otimizações importantes: paralelização da execução de testes com pytest-xdist, aproveitamento do sys.monitoring do Python 3.12 para instrumentação de cobertura eficiente, otimização da descoberta de testes e eliminação de importações desnecessárias. Essas técnicas são facilmente aplicáveis a muitos projetos Python que lutam com suítes de testes lentas, oferecendo ganhos significativos de desempenho com custo mínimo.

Desenvolvimento Otimização de Testes

Engenharia Reversa do Centro de Segurança do Windows a partir de um Airbnb em Seul

2025-05-12

Um desenvolvedor, de férias em um Airbnb em Seul com apenas um MacBook, superou inúmeros obstáculos para fazer engenharia reversa do Centro de Segurança do Windows e criar o defendnot, uma ferramenta para desabilitar o Windows Defender sem depender de outros softwares antivírus. O post detalha os desafios enfrentados, incluindo depuração entre plataformas, alta latência e um mergulho profundo em tokens do Windows e mecanismos de segurança. O desenvolvedor completou o projeto com sucesso, mas lamentou a experiência incrivelmente frustrante.

Classificação de Linguagens de Programação: Python, Rust e JavaScript Lideram

2025-05-12

As classificações de linguagens de programação de maio chegaram! Python mantém sua posição de liderança devido à sua facilidade de uso e ampla adoção, enquanto Rust continua sua ascensão devido ao seu desempenho e recursos de segurança. JavaScript permanece uma força dominante no desenvolvimento web. As notícias notáveis ​​deste mês incluem uma oficina de C++ sobre desenvolvimento embarcado seguro e eficiente, o lançamento estável do Kotlin Compose Multiplatform e o lançamento do Python 3.14.0 beta 1. As classificações variam ligeiramente entre os diferentes índices (PyPL, TIOBE, GitHub Pushes), mas Python, JavaScript e linguagens da família C estão consistentemente em posições de destaque, refletindo sua influência em vários domínios.

Desenvolvimento classificações
1 2 90 91 92 94 96 97 98 214 215