Category: Desenvolvimento

Rust Hardcore: Um Ray Tracer sem Alocação Dinâmica de Memória

2025-01-30

Esta publicação detalha um estudo de caso sobre a escrita de um aplicativo Rust usando apenas uma API mínima, artificialmente restrita (sem alocação dinâmica de memória). O autor critica o RAII (Resource Acquisition Is Initialization) por levar a um gerenciamento de recursos desorganizado e propõe um "modo hardcore": dividir o programa em um binário `std` e uma biblioteca `#![no_std] no_alloc`, permitindo apenas que o binário solicite recursos diretamente do SO. Usando um ray tracer de brinquedo como exemplo, o autor explica meticulosamente o tratamento de buffers de pixels, paralelização, o alocador de memória e a análise de cena neste "modo hardcore", atingindo, em última análise, um ray tracer sem alocação dinâmica de memória.

Desenvolvimento

A Ressurgência da Descompilação: Um Olhar para 2024

2025-01-30
A Ressurgência da Descompilação: Um Olhar para 2024

2024 marcou um ressurgimento significativo na pesquisa de descompilação. Publicações acadêmicas daquele ano compuseram quase 30% de todas as publicações de alto nível já feitas no campo. Esta postagem resume os avanços acadêmicos e ideológicos na descompilação durante 2024. Houve um aumento nas publicações acadêmicas, com quatro focando em definir uma 'boa' descompilação e quatro explorando o papel da IA, incluindo previsão de símbolos e simplificação de código. Quase todos os artigos incluíam implementações de código aberto, promovendo a adoção pela indústria. O ano também contou com uma turnê da pioneira em descompilação, Dra. Cristina Cifuentes, e um painel de especialistas de destaque na Recon 2024, impulsionando ainda mais o campo.

Desenvolvimento descompilação

Mathesar: Interface tipo planilha para Postgres de código aberto

2025-01-30
Mathesar: Interface tipo planilha para Postgres de código aberto

Mathesar é um aplicativo de código aberto que fornece uma interface intuitiva, semelhante a uma planilha, para visualizar, editar e consultar dados do Postgres. Usuários de todos os níveis de habilidade técnica podem colaborar diretamente em seus dados. É 100% de código aberto, auto-hospedado e utiliza o controle de acesso nativo do Postgres para segurança. Mathesar oferece instalação fácil (via Docker), escalabilidade para lidar com qualquer tamanho de dados e integração perfeita com infraestruturas existentes. Sua interface amigável simplifica as interações com o banco de dados, enquanto recursos de segurança robustos garantem a proteção dos dados.

showkey: Uma ferramenta de linha de comando Linux para solução de problemas de teclado

2025-01-30
showkey: Uma ferramenta de linha de comando Linux para solução de problemas de teclado

O autor encontrou um problema estranho em que sua tecla "]" continuava sendo pressionada repetidamente. Usando a ferramenta de linha de comando Linux `showkey`, ele descobriu o culpado: um teclado secundário pressionado contra um replicador IMSAI 8080 embaixo de sua mesa. O `showkey` exibe códigos de tecla e códigos de varredura, ajudando na solução de problemas de entrada de teclado. A opção -a fornece valores ASCII, decimal, octal e hexadecimal para as teclas pressionadas. O artigo detalha a instalação, o uso e as opções do `showkey`, compartilhando a experiência de solução de problemas do autor.

Ação do GitHub: Publicação Automática de Feeds RSS no Bluesky

2025-01-30
Ação do GitHub: Publicação Automática de Feeds RSS no Bluesky

O Blueskyfeedbot é uma Ação do GitHub que automatiza a publicação de feeds RSS/ATOM no Bluesky. Os usuários criam um repositório GitHub, configuram segredos (nome de usuário e senha do aplicativo Bluesky) e configuram um arquivo de workflow especificando a URL do feed RSS e um modelo Handlebars. Isso simplifica a syndicação de conteúdo para o Bluesky, oferecendo uma solução conveniente para blogueiros e desenvolvedores.

Desenvolvimento

Ex-engenheiro da EA cria Jank: uma nova linguagem de programação que combina Clojure e C++

2025-01-29
Ex-engenheiro da EA cria Jank: uma nova linguagem de programação que combina Clojure e C++

O ex-engenheiro da EA, Jeaye Wilkerson, está desenvolvendo Jank, uma nova linguagem de programação que visa combinar a natureza interativa do Clojure com a velocidade de compilação nativa e tempo de execução mínimo do C++. Construído no LLVM e incorporando elementos de C++, Clojure e Rust, Jank busca ser um dialeto nativo do Clojure. O projeto ganhou considerável interesse da comunidade, tornando-se um dos projetos Clojure não lançados mais populares. Seu recurso único é a flexibilidade de alternar entre código de tipo dinâmico e estático, equilibrando o desenvolvimento rápido com a otimização de desempenho. Jank está pronto para ser uma ferramenta poderosa para desenvolvimento de jogos, desenvolvimento de GUI e ciência de dados.

Desenvolvimento

Roadmap do Editor Zed 2025: Aprimorando o Modo Vim e a Experiência do Usuário

2025-01-29
Roadmap do Editor Zed 2025: Aprimorando o Modo Vim e a Experiência do Usuário

A equipe do editor Zed divulgou seu roadmap para 2025, focando na melhoria do modo Vim e no aprimoramento da experiência geral do usuário. Os planos incluem melhorar a experiência do usuário fora do editor com aprimoramentos no painel de comandos, conclusão de nomes de arquivos e histórico de comandos; aumentar a compatibilidade do modo Vim resolvendo casos de borda e usando testes lado a lado com o Neovim; e melhorar a experiência com vários cursores para um uso mais suave e fácil. O roadmap visa tornar o Zed um editor que combina o poder do Vim com uma experiência de usuário moderna.

Desenvolvimento editor Zed

Aumento de Desempenho do Site: O Encanto da Busca Incremental

2025-01-29

Um aviso do site afirma que o JavaScript é necessário para visualizar o site e se orgulha de uma melhoria mensurável no desempenho do servidor, graças à implementação da busca incremental. A menção de incompatibilidade com navegadores mais antigos destaca uma atualização tecnológica destinada a melhorar a experiência do usuário e o desempenho.

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
1 2 163 164 165 167 169 170 171 203 204