Category: Desenvolvimento

Projeto de Macros Dart Abandonado: Foco em Manipulação de Dados e Desempenho de Compilação

2025-01-29

A equipe Dart anunciou o cancelamento de seu projeto de macros de longa duração devido aos altos custos de tempo de compilação que afetam a experiência do desenvolvedor, principalmente o recarregamento a quente. A equipe reconheceu obstáculos técnicos intransponíveis, decidindo priorizar a melhoria das capacidades de manipulação de dados e as velocidades de compilação em vez de continuar investindo em macros. Os esforços futuros se concentrarão em melhor suporte de serialização/desserialização de dados, aprimoramentos na ferramenta `build_runner` e no lançamento independente de aumentações — um recurso inicialmente prototipado como parte do projeto de macros — para melhorar o fluxo de trabalho do desenvolvedor.

Desenvolvimento

Airflow: Reinventando o Streaming de Vídeo

2025-01-29

Airflow é um software de streaming de vídeo de compra única, para uso vitalício, que transmite vídeos para Chromecast, Apple TV e TVs com AirPlay 2. Ao contrário de outros, o Airflow possui um pipeline de processamento de vídeo personalizado. Ele suporta recursos como streaming de vídeo HEVC para Apple TV sem transcodificação, volume de áudio adaptativo, mixagem espacial de fones de ouvido e até mesmo reconhecimento de texto de legenda em tempo real (OCR) para reprodução aprimorada de vídeo 4K. Ele também oferece um aplicativo de controle remoto, suporta vários formatos de legenda e áudio e possui uma interface de usuário polida com recursos poderosos, como suporte a várias listas de reprodução e teste de velocidade.

Desenvolvimento streaming de vídeo

Keymapper: Mapeador de teclas com reconhecimento de contexto multiplataforma

2025-01-29
Keymapper: Mapeador de teclas com reconhecimento de contexto multiplataforma

Keymapper é um mapeador de teclas com reconhecimento de contexto multiplataforma que permite redefinir seu layout de teclado e atalhos globalmente ou por aplicativo. Suporta GNU/Linux, Windows e macOS, gerenciando todos os seus atalhos em um único arquivo de configuração, permitindo até mesmo vincular atalhos ao lançamento de aplicativos. Recursos avançados incluem o uso de botões do mouse e da roda em mapeamentos e a ativação de mapeamentos diferentes com base em contexto, como título da janela, classe, caminho do processo ou dispositivo de entrada.

Desenvolvimento mapeamento de teclado atalhos

Elixir e Rust: Um Parser de PDF de Alto Desempenho

2025-01-29
Elixir e Rust: Um Parser de PDF de Alto Desempenho

Este artigo demonstra como construir um parser de PDF de alto desempenho em Elixir usando Rust e NIFs. O autor destaca as limitações do Elixir no tratamento de tarefas de baixo nível, como a análise de PDFs, tornando a velocidade e a segurança do Rust um complemento perfeito. Usando a biblioteca Rustler, o autor integra perfeitamente o código de análise de PDF baseado em Rust em um projeto Elixir, criando uma interface amigável de upload e análise de PDF com LiveView. O artigo detalha a implementação, cobrindo a gestão de dependências, a escrita de funções NIF, o tratamento de dados e as estratégias de implantação. Técnicas de otimização, como o uso da programação DirtyCpu para evitar bloqueios, também são compartilhadas.

Desenvolvimento

mcp-agent: Uma estrutura simples para construir agentes de IA eficazes

2025-01-29
mcp-agent: Uma estrutura simples para construir agentes de IA eficazes

O mcp-agent é uma estrutura leve e composta para construir agentes usando o Protocolo de Contexto de Modelo (MCP). Ele simplifica o gerenciamento de conexões de servidor MCP e implementa todos os padrões descritos em "Construindo Agentes Eficazes", permitindo que você os encadeie. Ele também implementa o padrão Swarm do OpenAI para orquestração de vários agentes. Com o mcp-agent, você pode construir facilmente aplicativos de IA robustos, como fluxos de trabalho colaborativos de vários agentes, fluxos de trabalho com humanos no ciclo e pipelines RAG.

Desenvolvimento

Atualização Principal do PostgreSQL com Zero Tempo de Parada

2025-01-29
Atualização Principal do PostgreSQL com Zero Tempo de Parada

A equipe Instant compartilha sua experiência na atualização do PostgreSQL da versão 13 para a 16 com zero tempo de inatividade. Eles tentaram atualizações no local e implantações azul-verde, mas ambas falharam. Sua abordagem manual envolveu a criação de uma nova réplica do PostgreSQL 16, alternando gradualmente as assinaturas e gravações, e projetando um algoritmo inteligente para garantir zero perda de dados, pausando brevemente novas transações. Eles encontraram desafios como problemas de caminho de pesquisa de funções personalizadas e problemas de replicação de dados de sequência, compartilhando lições valiosas aprendidas ao longo do caminho.

SmolGPT: Implementação mínima do PyTorch para treinamento de LLMs pequenos

2025-01-29
SmolGPT: Implementação mínima do PyTorch para treinamento de LLMs pequenos

SmolGPT é um projeto PyTorch mínimo projetado para fins educacionais, permitindo que os usuários treinem seus próprios modelos de linguagem pequenos (LLMs) do zero. Ele apresenta uma arquitetura moderna que incorpora Flash Attention, RMSNorm e SwiGLU, juntamente com técnicas de amostragem eficientes. O projeto fornece um pipeline de treinamento completo, pesos de modelo pré-treinado e exemplos de geração de texto, facilitando o aprendizado e a experimentação com o treinamento de LLM.

Desenvolvimento treinamento de LLM

Sugestões de código de IA eficazes: menos é mais

2025-01-29
Sugestões de código de IA eficazes: menos é mais

A Qodo (anteriormente Codium), com sua ferramenta de IA para análise e feedback automatizados de pull requests, Qodo Merge, descobriu uma lição crucial sobre o uso de LLMs para revisão de código. Inicialmente, priorizar a detecção de bugs sobre sugestões de estilo mostrou-se ineficaz; o modelo foi sobrecarregado pelas questões de estilo mais fáceis de encontrar, levando à fadiga de sugestões entre os desenvolvedores. A solução veio da simplificação da tarefa do modelo: focar apenas na busca de bugs e problemas significativos. Esse foco preciso aumentou as taxas de detecção de bugs e a relação sinal-ruído, resultando em um aumento de 50% nas taxas de aceitação de sugestões e um aumento de 11% no impacto geral. A principal conclusão: às vezes, eliminar distrações é mais eficaz do que uma priorização complexa.

Desenvolvimento

Mudanças de Preços do Java da Oracle Causam Êxodo em Massa

2025-01-29
Mudanças de Preços do Java da Oracle Causam Êxodo em Massa

A mudança da Oracle em janeiro de 2023 no licenciamento do Java SE, de por usuário/processador para por funcionário, provocou uma reação em massa, com custos disparando. A Dimensional Research revela que 88% dos usuários do Java da Oracle estão considerando mudar para alternativas de código aberto, atingindo 92% na França e 95% na Alemanha. Isso reflete uma necessidade crescente de soluções Java econômicas, forçando as organizações a reavaliarem suas estratégias de longo prazo para licenciamento e suporte do Java.

Desenvolvimento

Startup do YC, Frigade, Contrata Engenheiro Full-Stack Sênior

2025-01-29
Startup do YC, Frigade, Contrata Engenheiro Full-Stack Sênior

A startup Frigade, apoiada pelo Y Combinator, está contratando um Engenheiro Full-Stack Sênior. A Frigade constrói uma plataforma de crescimento para equipes de software modernas, ajudando os clientes a melhorar as experiências de integração, ativação e engajamento em aplicativos. O candidato ideal terá proficiência em TypeScript, React e Node.js, e excelentes habilidades de comunicação e colaboração. A empresa oferece salário e participação acionária competitivos, um ótimo ambiente de trabalho e benefícios. É uma equipe em rápido crescimento com oportunidades de trabalhar em assistência ao usuário com tecnologia de IA e colaborar diretamente com clientes corporativos.

Desenvolvimento

Vírus WMI: Execução sem disco alcançada

2025-01-29
Vírus WMI: Execução sem disco alcançada

Um projeto de prova de conceito, Stuxnet, demonstra um novo vírus que oculta seu código malicioso na Instrumentação de Gerenciamento do Windows (WMI), alcançando a execução sem disco. O vírus usa o WMI como um sistema de arquivos, aproveitando um script PowerShell na inicialização para extrair e carregar a carga útil na memória. O projeto inclui uma técnica de elevação de privilégios inovadora e técnicas avançadas de evasão anti-AV, como o carregamento de bibliotecas de sistema sob demanda e a localização de deslocamentos de função dinâmica, permitindo que ele evite a detecção por softwares antivírus e caixas de areia principais. O autor também sugere possibilidades de exploração de espaço do kernel dentro do WMI.

Desenvolvimento evasão antivírus

Dados em Streaming no DuckDB: Superando Limitações de Concorrência com Arrow Flight

2025-01-29
Dados em Streaming no DuckDB: Superando Limitações de Concorrência com Arrow Flight

Um post no blog da Definite apresenta uma solução inteligente para superar as limitações de concorrência do DuckDB usando o Apache Arrow Flight. Embora o DuckDB se destaque na análise de máquina única, a falta de suporte para gravação e leitura concorrentes restringe seu uso em cenários de streaming em tempo real. O script Python 'Duck Takes Flight' constrói um servidor Arrow Flight, permitindo gravações e leituras concorrentes no DuckDB. Essa solução de 200 linhas é eficiente, não requer configuração complexa de cluster e oferece processamento de stream de alto desempenho, oferecendo uma nova abordagem para aplicativos que precisam de movimentação rápida de dados e consultas em tempo real.

Desenvolvimento Processamento de Stream

Preserves: Uma Linguagem de Dados Mais Expressiva

2025-01-29

Preserves é um modelo de dados e formato de serialização comparável a JSON, XML e outros. Ele possui um modelo de dados e semântica neutros em relação à sintaxe, permitindo conversão sem perdas entre várias sintaxes. O projeto fornece especificações, tutoriais, implementações em várias linguagens (Python, Rust, JavaScript, etc.) e ferramentas para desenvolvedores que buscam uma representação de dados mais poderosa e flexível. Também oferece recursos de schema e consulta para manipulação eficiente de dados. Em comparação com JSON, Preserves oferece expressividade mais rica e melhor escalabilidade.

Notion: Seu espaço de trabalho unificado para notas, tarefas, wikis e bancos de dados

2025-01-29
Notion: Seu espaço de trabalho unificado para notas, tarefas, wikis e bancos de dados

Notion é um espaço de trabalho unificado que integra perfeitamente notas, gerenciamento de tarefas, wikis e bancos de dados. Imagine uma única plataforma para anotar ideias, acompanhar projetos, criar wikis colaborativos e até mesmo criar bancos de dados personalizados — isso é o Notion. Sua flexibilidade atende a diversos fluxos de trabalho, desde anotações pessoais até colaborações complexas em equipe. A interface intuitiva e os recursos poderosos o tornam uma potência de produtividade para muitos.

Desenvolvimento

Por que eu ainda gosto do Sublime Text em 2025

2025-01-29
Por que eu ainda gosto do Sublime Text em 2025

Um desenvolvedor experiente explica por que continua fiel ao Sublime Text em 2025. Ele destaca sua velocidade, baixo consumo de recursos e a poderosa integração LSP que o mantém moderno. O robusto sistema de snippets, a gestão de espaços de trabalho de projetos e os sistemas de compilação personalizáveis são recursos-chave que ele aprecia. Embora reconheça áreas de melhoria na documentação e no desenvolvimento de plugins, ele argumenta que a simplicidade, eficiência e estabilidade a longo prazo do Sublime Text o tornam uma escolha convincente.

Desenvolvimento

Programação por Descoberta: Código Primeiro, Design Depois

2025-01-29

Este artigo apresenta a "Programação por Descoberta", um paradigma de programação que inverte a abordagem tradicional de design-e-depois-código. A programação por descoberta defende escrever código primeiro, usando o feedback do código para entender o problema e refinar iterativamente a solução. O autor traça um paralelo com o estilo de escrita de Stephen King, comparando-o com a "escrita por descoberta". Embora aparentemente desordenado, este método ajuda os programadores a evitar ser limitados por experiências passadas e a compreender melhor o cerne do problema. O artigo também explora os benefícios da programação por descoberta e ferramentas relevantes, incentivando a comunidade de programação a adotar essa abordagem diversificada.

SQL Componível: Uma Abordagem Funcional para Resolver Problemas de Testes e Lógica de Negócios em SQL

2025-01-29

Este artigo explora as deficiências do SQL em testes e reutilização da lógica de negócios, propondo uma solução chamada "functores" — fragmentos de SQL compostáveis. Ao parametrizar consultas e depender de interfaces em vez de tabelas concretas, os functores resolvem os desafios dos testes de SQL e permitem a reutilização da lógica de negócios em várias consultas, melhorando a legibilidade, a capacidade de teste e a reusabilidade do código. O autor também discute extensões como genéricos, generalização da lógica de negócios e evitar variáveis globais, alcançando, em última análise, consultas SQL eficientes, testáveis e fáceis de entender.

Desenvolvimento

OAuth 2.0: Desvendando a estrutura de autorização mais popular do mundo

2025-01-28
OAuth 2.0: Desvendando a estrutura de autorização mais popular do mundo

Este artigo explica de forma clara e concisa o protocolo OAuth 2.0. Usando o exemplo da construção de uma plataforma de implantação de código, o autor demonstra como o OAuth 2.0 resolve os problemas de segurança do compartilhamento de credenciais de usuário, comparando as vantagens e desvantagens do uso de credenciais de usuário simples e tokens de acesso pessoal (PATs). O artigo detalha os três papéis principais no OAuth 2.0 (Servidor de Recurso, Proprietário de Recurso e Servidor de Autorização) e vários fluxos de autorização (fluxos de código de autorização, implícito, credenciais de cliente, credenciais do proprietário do recurso e código do dispositivo), analisando a segurança e a aplicabilidade de cada um. Conceitos importantes como tokens de acesso, tokens de atualização, escopos e PKCE também são explorados.

Desenvolvimento Estrutura de Autorização

Meelo: Servidor de música auto-hospedado para colecionadores

2025-01-28
Meelo: Servidor de música auto-hospedado para colecionadores

Meelo é um servidor de música pessoal auto-hospedado e aplicativo web, semelhante ao Plex ou Jellyfin, mas com foco em flexibilidade e experiência de navegação. Projetado para colecionadores de música, ele identifica faixas B-sides, faixas raras, detecta automaticamente duetos e participações especiais, suporta vários formatos e análise de metadados e busca informações do MusicBrainz e outros. Meelo suporta vídeos musicais, diferenciando-os de entrevistas ou conteúdo dos bastidores. Está disponível agora via imagens Docker.

Atraso de 30 segundos na tela de boas-vindas do Windows 7/Server 2008 R2 com planos de fundo de cores sólidas

2025-01-28

Definir uma cor sólida como plano de fundo da área de trabalho no Windows 7 ou Windows Server 2008 R2 pode causar um atraso de 30 segundos na exibição da tela de boas-vindas durante o login. A Microsoft reconhece esse problema e fornece uma atualização para resolvê-lo. O problema não ocorre ao usar o Conexão da área de trabalho remota, ou se o serviço Gerenciador de sessão do Gerenciador de janelas da área de trabalho estiver parado ou desativado, ou se um arquivo de imagem for usado como plano de fundo. Soluções alternativas incluem usar uma imagem com uma cor sólida ou ajustar a entrada do registro DelayedDesktopSwitchTimeout.

Desenvolvimento Problema do sistema

Dependências Transitivas: Segurança vs. Produtividade em Software Moderno

2025-01-28

O desenvolvimento de software moderno depende muito de bibliotecas externas, criando um relacionamento de confiança semelhante a deixar a porta de sua casa destrancada. O autor argumenta que essa dependência em dependências transitivas, embora aumente a produtividade, introduz riscos significativos de segurança. O artigo explora a tensão entre eficiência e segurança, propondo o isolamento de componentes e o princípio do menor privilégio como soluções. Ele traça paralelos com o OpenSSH e o modelo Actor, prevendo uma arquitetura de software mais segura que requer repensar o hardware, os sistemas operacionais e as linguagens de programação.

Desenvolvimento arquitetura de software

Svelte 5: Uma conversa com Rich Harris sobre o futuro das estruturas

2025-01-28
Svelte 5: Uma conversa com Rich Harris sobre o futuro das estruturas

A Smashing Magazine entrevistou Rich Harris, o criador do Svelte, revelando grandes atualizações e direções futuras para o Svelte 5. Uma reescrita completa, o Svelte 5 introduz um gerenciamento de estado mais claro. Harris enfatiza que o objetivo do Svelte não é apenas a participação de mercado, mas sim a construção de aplicativos de alta qualidade, resilientes e acessíveis, e a melhoria da qualidade geral do software, abordando falhas generalizadas. Os esforços futuros se concentrarão no ecossistema ao redor, incluindo o SvelteKit, com o objetivo de se tornar um Rails ou Laravel para JavaScript, simplificando o desenvolvimento de aplicativos de pilha completa.

Desenvolvimento Frameworks Web

Malimite: Um Decompilador Poderoso para iOS e macOS

2025-01-28
Malimite: Um Decompilador Poderoso para iOS e macOS

Malimite é um decompilador de código aberto para iOS e macOS, projetado para ajudar pesquisadores a analisar e decodificar arquivos IPA e pacotes de aplicativos. Construído sobre o decompilador Ghidra, ele suporta diretamente Swift, Objective-C e recursos Apple. É multiplataforma (Mac, Windows, Linux), decodifica automaticamente recursos iOS, evita a decompilação de código lib, reconstrói classes Swift e possui até mesmo tradução de métodos LLM integrada. Um arquivo JAR pré-compilado está disponível na página Releases, com instruções adicionais de instalação e uso na Wiki.

Desenvolvimento decompilador

Segurança Aprimorada: Keycloak, Angular e o Padrão BFF

2025-01-28

Este artigo mostra como construir um aplicativo web seguro usando o padrão Backend for Frontend (BFF), integrando Keycloak e Angular. Para evitar o armazenamento de dados sensíveis no navegador, os fluxos de autenticação com o Keycloak são totalmente gerenciados por um servidor BFF dedicado. O BFF atua como um intermediário seguro entre o Keycloak e o aplicativo Angular, gerenciando fluxos OAuth2 e PKCE, armazenando tokens com segurança e evitando que operações sensíveis (como atualização de tokens) alcancem o navegador. O aplicativo Angular interage apenas com os endpoints simplificados fornecidos pelo BFF, eliminando a comunicação direta com o Keycloak. O artigo detalha a configuração do Keycloak, a configuração do servidor BFF (usando Express.js) e o desenvolvimento do aplicativo Angular, destacando os benefícios de segurança dessa arquitetura.

Desenvolvimento padrão BFF

Usando 'uv' como sua linha Shebang para scripts Python eficientes

2025-01-28
Usando 'uv' como sua linha Shebang para scripts Python eficientes

Rob Allen compartilha sua experiência usando `#!/usr/bin/env -S uv run --script` como uma linha shebang para seus scripts Python. Essa abordagem utiliza a ferramenta 'uv' para gerenciar dependências de scripts, permitindo a execução direta a partir da linha de comando sem precisar configurar ambientes virtuais, etc., melhorando a conveniência e a executabilidade do script. O autor cria muitos scripts de automação em seu diretório ~/bin e simplifica sua execução usando esse método.

Desenvolvimento scripts

Proposta de sintaxe de açúcar para tratamento de erros em Go: uma troca entre brevidade e clareza

2025-01-28
Proposta de sintaxe de açúcar para tratamento de erros em Go: uma troca entre brevidade e clareza

A comunidade Go está debatendo uma nova proposta de sintaxe para tratamento de erros, com o objetivo de reduzir código repetitivo. A proposta introduz um novo operador '?' para lidar com erros retornados por funções de forma mais concisa, mantendo a legibilidade. A proposta gerou uma ampla discussão na comunidade, principalmente sobre se a nova sintaxe é clara o suficiente e se pode incentivar os desenvolvedores a negligenciar o tratamento de erros. Alguns argumentam que reduz eficientemente o código repetitivo, melhorando a legibilidade; outros temem que a nova sintaxe seja muito implícita, potencialmente levando a erros mais difíceis de depurar.

Desenvolvimento sintaxe de açúcar

llama.cpp WASM: Aceleração 2x com SIMD otimizado

2025-01-28

O blog de Simon Willison destaca uma melhoria significativa no llama.cpp: um aumento de velocidade de 2x para a versão WASM, obtida otimizando instruções SIMD. Surpreendentemente, 99% do código foi gerado pela ferramenta de programação assistida por IA DeepSeek R1. O DeepSeek R1 levou 3-5 minutos para 'pensar' em cada prompt, ajudando o desenvolvedor a melhorar o plugin llm_groq.py e a eliminar elegantemente o model_map, simplificando o código. Isso mostra o imenso potencial da IA na otimização e refatoração de código.

DECUServe: Uma comunidade online vibrante para OpenVMS

2025-01-28

O DECUServe é uma comunidade online vibrante para usuários do OpenVMS, oferecendo uma riqueza de recursos e suporte. Com um vasto banco de conhecimento de problemas e soluções, ele sediou inúmeras conferências técnicas (mais de cinquenta!). Os usuários acessam conferências, bibliotecas e páginas da web pessoais por meio de linha de comando, navegador ou leitor de notícias. Com acesso SSH, SFTP e DCLinabox, a colaboração é fácil. Um ambiente de suporte entre pares, o DECUServe é um recurso inestimável para a comunidade OpenVMS.

Desenvolvimento Suporte técnico

HawkEye: Verificador e Formatador de Cabeçalhos de Licença de Código Aberto Multiplataforma

2025-01-28
HawkEye: Verificador e Formatador de Cabeçalhos de Licença de Código Aberto Multiplataforma

HawkEye é uma ferramenta poderosa de código aberto para verificar e formatar cabeçalhos de licença em arquivos de código. Suporta vários formatos, integra-se perfeitamente com o GitHub Actions e também fornece uma interface de linha de comando para uso local. O HawkEye verifica a completude e a consistência dos cabeçalhos de licença, corrige automaticamente arquivos não conformes e até permite a remoção de cabeçalhos de licença. Inicialmente desenvolvido em Java, foi reescrito em Rust para uma imagem Docker menor e desempenho aprimorado.

1 2 174 175 176 178 180 181 182 214 215